最近、コンソールから日付を繰り返し読み込む必要のある小さなCLIスクリプトを作成しました(読み込む日付の数は計算され、毎回異なる可能性があります)。あなたのアイデアを与えるために、サンプルのRubyコード:ちょうどそれを一体のためコンソールから行を繰り返し読み込むためのClojureコードを書くための慣習的な方法はありますか?
dates = x.times.collect { print "Enter date: "; Date.parse(gets.chomp) }
は、私はClojureのでスクリプトを書いて、そしてswap!
とloop...recur
といくつかのではなく醜いコードを使用して巻き取りました。私は、Clojureで所望の効果を達成する最もクリーンな方法は何だろうと思っています。 (Clojureのはdotimes
を持っているが、それは純粋な関数型プログラミングを強調している言語から予想されるような値が...身体の評価から返され保持されません。)
偉大な答え...非常に多くのオプションを提供していただきありがとうございます。私は 'read-date'ヘルパー関数を定義し、単に'(repeated x read-date) 'を使うと思います。私はコンソールを使って他に何かをする前に後続の処理が評価されると思うので、 'doall'はおそらく*必要ないでしょうが、それを私のツールキットに入れてもいいと思うし、それは後で。 –