Clojure无限循环

标签 clojure

创建无限循环的惯用方法是什么?


while(true){
   calc();
}

我想永远调用 calc 函数。只有一个函数被一遍又一遍地调用。

编辑: 我忘记提及的另一件事是 calc 有副作用。它执行一些计算并修改字节数组。

最佳答案

while 位于核心库中。

(while true (calc))

这扩展为一个简单的recur

(defmacro while
  "Repeatedly executes body while test expression is true. Presumes
  some side-effect will cause test to become false/nil. Returns nil"
  [test & body]
  `(loop []
     (when ~test
       ~@body
       (recur))))

关于Clojure无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1515103/

相关文章:

clojure - 在 Clojure 中检测非空 STDIN

clojure - 如何检查clojure对象是否是字节数组?

parameters - 函数参数过多怎么办?

recursion - 如何在 Clojure 中递归地展平任意嵌套的向量和映射?

emacs - clojurescript中浏览器Repl、浏览器、http服务器之间的交互

java - IllegalAccessError 和代理

clojure - 将 clojure.contrib.strint 与其他地方定义的字符串一起使用

mysql - 在 clojure 中使用PreparedStatements进行选择

functional-programming - 建模/记录功能程序

java - 如何在 Clojure 中实现 Java 接口(interface)