clojure调用函数,其结果是循环

Chr*_*ian 1 parameters loops function clojure

是否有一个可以在循环中调用的clojure函数,并将其与前一个调用的结果一起提供?

伪代码可能如下所示:

currentValue = firstValue;
while (endNotYetReached(currentValue)) {
  currentValue = myFunction(currentValue);
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的每一个答案!

小智 5

你可以使用iterate,它返回一个无限的懒惰序列,你可以从中获取,删除等:

=> (take 3 (iterate inc 5))
(5 6 7)
Run Code Online (Sandbox Code Playgroud)