http://clojuredocs.org/clojure_core/clojure.core/-%3E
(def step #(-> [(% 1) (+ (% 0) (% 1))]))
(def fib #(map first (iterate step [0 1])))
上面的代码生成 Fib 序列,我想重写第二行,如下所示:
(def fib #(-> (iterate step [0 1]) (map first)))
或者
(def fib #(-> [0 1] (iterate step) (map first)))
但是,这两个代码都失败了
(println
(take 10 (fib))
)
有错误
java.lang.IllegalArgumentException: Don't know how to create ISeq from: clojure.core$first
像这样或任何适当的方式重写是不可能的吗?
谢谢。