在Scala中调试功能代码
发布时间:2020-12-16 09:47:13 所属栏目:安全 来源:网络整理
导读:调试功能代码肯定比调试命令式代码更棘手。参见讨论 here,here和 here.“功能”调试应该支持检查函数/ closure / monads的返回值。任何调试器/ IDE都有(计划有)检查中间返回值的能力吗? 例如,要在Scala中调试此行,我应该能够遍历4个函数调用,并检查每个
调试功能代码肯定比调试命令式代码更棘手。参见讨论
here,here和
here.“功能”调试应该支持检查函数/ closure / monads的返回值。任何调试器/ IDE都有(计划有)检查中间返回值的能力吗?
例如,要在Scala中调试此行,我应该能够遍历4个函数调用,并检查每个步骤返回的值,然后返回r val r=(ls filter (_>1) sort (_<_) zipWithIndex) filter {v=>(v._2)%2==0} map{_._1} 解决方法
我认为每个人的建议,打破这件事,更容易管理的块是最好的方法。调试较小表达式的一个技巧是窃取Ruby的tap函数,如
here所述。“tap”允许你在这样的链中间粘贴一个表达式,或者打印出一些调试值,如下所示:
val ls = List(1,2,3).map(_ * 2) .tap(soFar => println("So far: " + soFar)) .map(_ * 2) println(ls) 这将打印出:
它帮助我每一次在一段时间。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读