在let
绑定中打印值的惯用方法是什么?
当我开始在Clojure中开发时,我在REPL中编写了代码,然后我变成了简单的let
表达式。作为初学者,我经常在这个(简单)转型阶段犯错误。
(let [a (aFn ...)
b (bFn ... a)]
;; error above
)
所以我会把它转换成类似的东西,基本上就是内联:
(println "a is" (aFn ...))
(println "b is" (bFn ... (aFn ...)))
(let [a (aFn ...)
b (bFn ... a)]
;; ...
)
由于Clojure很好(不变性,参考透明度......),它大部分时间都有效。
现在我做了一些事情:
(let [a (aFn ...)
_ (println "a is" a)
b (bFn ... a)
_ (println "b is" b)]
;; ...
)
这是一种改进,但仍然感觉笨拙。这样做的正确方法是什么?