9

我刚刚开始自学 Clojure。作为补充学习的一部分,我观看了布赖恩哈维关于函数式编程主题的一些加州大学伯克利分校的讲座。在他关于函数式编程的第二讲中,大约在第 34 分钟,他使用了applic函数来展示求值的顺序。Clojure 是否有类似的功能?在我努力了解原因和原因时,查看评估顺序肯定会很方便。

4

1 回答 1

8

您可以只在 REPL 中执行(Mike Meyer 在 Clojure 邮件列表中的回答:在 Clojure 中调试

=> (use 'clojure.contrib.trace)
nil
=> (defn foo [coll] (reduce + coll))
#'web-db.core/foo
=> (defn bar [coll] (map inc coll))
#'web-db.core/bar
=> (dotrace [foo bar] (foo (bar [1 1 1])))
TRACE t3868: (bar [1 1 1])
TRACE t3868: => (2 2 2)
TRACE t3869: (foo (2 2 2))
TRACE t3869: => 6
6

还有 Clojure 调试工具包(“这里有关于如何使用它的可笑的长指令:http: //georgejahad.com/clojure/emacs-cdt.html ”)

并且一些 IDE(比如带有逆时针插件的 Eclipse)允许调试:设置断点,查看本地,步入/退出,...

于 2011-08-04T07:33:33.090 回答