【发布时间】:2012-01-30 08:19:14
【问题描述】:
所以我想先执行一堆代码,然后然后询问用户是否想再执行一次。我认为最方便的方法是使用 C++ 中的 do-while 循环,因为我似乎在 Clojure 中找不到任何 do-while 函数,所以我编写了以下内容:
(defmacro do-while
"Executes body before testing for truth expression"
[test & body]
`(do (do ~@body) (while ~test ~@body)))
是否有更好的方式(如更惯用的 Clojure-ish 方式)来编写这个宏,或者是否有更好的方式来做我想做的事而无需通过 do-while 路线?
【问题讨论】:
标签: clojure functional-programming