私はシーケンスをエクササイズを4clojure.comに数えて解決しようとしています。エクササイズは、count
関数を使用せずにコレクション内の要素の数を数えることです。Clojureのif条件でrecurを呼び出すにはどうすればよいですか?
私は再帰によって、rest
の使い方でこれを行うことができると思いました。私が得るものが空でないなら、私は1 + recur on the sequence rest returned
を返す。問題は、最終的にrecur
と呼んでいますが、最終的には
となります。
(fn [coll] (let [tail (rest coll)]
(if (empty tail)
1
(+ 1 (recur tail)))))
私に何かが不足していますか?