我正在学习Clojure而且我有一个疑问:
为什么当我打字
(map vector '("1" "2" "3"))
Run Code Online (Sandbox Code Playgroud)
我明白了 (["1"] ["2"] ["3"])
没关系,因为它vector是一个功能(或者几乎我认为),我可以做到
(vector "3")并且得到["3"].
到目前为止这么好,但是当我尝试的时候
(map Integer/parseInt '("1" "2" "3"))
Run Code Online (Sandbox Code Playgroud)
我收到一个错误.不应该parseInt表现得像一个功能?
然后我需要打字
(map #(Integer/parseInt %) '(......
Run Code Online (Sandbox Code Playgroud)
为什么我不能parseInt像功能一样使用?对我来说这是一个功能,我可以像使用它一样
(Integer/parseInt "3")
Run Code Online (Sandbox Code Playgroud)
我觉得它有点不连贯,但我确定我犯了一些错误,为此,我问它......
我还在学习clojure,我有一个疑问
当我写一个匿名函数时,我这样做
fn [parameter]
(do something)
Run Code Online (Sandbox Code Playgroud)
好的..函数体由一组括号括起来
现在我正在阅读像这样的斐波那契解决方案
(iterate (fn [[a b]] [b (+ a b)]) [0 1]))
Run Code Online (Sandbox Code Playgroud)
我的怀疑是为什么它不是这样的
(iterate (fn [[a b]] ( [b (+ a b)] )) [0 1]))
Run Code Online (Sandbox Code Playgroud)
我附上了这个函数 ()
(iterate (fn [[a b]] "(" [b (+ a b)] ")" ) [0 1]))
Run Code Online (Sandbox Code Playgroud)
它接收一个向量然后返回正文函数比其他向量...
当我使用像参数这样的向量调用函数或者我犯了一个大错误时,它会有所不同.