最近我正在编写一个小 CLI 脚本,它需要从控制台重复读取日期(要读取的日期数是计算出来的,每次可能不同)。示例 Ruby 代码为您提供思路:
dates = x.times.collect { print "Enter date: "; Date.parse(gets.chomp) }
只是为了它,我在 Clojure 中编写了脚本,最后使用了一些相当丑陋的代码swap!
和loop...recur
. 我想知道在 Clojure 中实现预期效果的最干净的方法是什么。(Clojure 确实有dotimes
,但它不保留从评估主体返回的值......正如强调纯函数式编程的语言所预期的那样。)