是否可以选择在Clojure中为符号赋值,然后重新分配相同的符号?我现在看到的是Clojure中的所有变量都是不变的.这样对吗?
本地名称可以反弹:
(全局)符号可以反弹.
有几种口味的东西(通常)可以绑定一个符号,其内容是可变的:
瓦尔
裁判
代理
原子
最后这些都有不同的特点和目的.
从上面:
注意 - 您不能分配函数参数或本地绑定.在Clojure中只有Java字段,Vars,Refs和Agents是可变的.
重新绑定本地名称的示例:
(let [coll (range) coll (rest coll) coll (filter odd? coll) coll (take 5 coll)] coll) ;(1 3 5 7 9)