此代码有效:
(def n1 (range))
(println
(->> n1
(take 30))
)
此代码不起作用:
(def n2 (iterate inc 0))
(println
(->> n2
(take 20))
)
修改后的代码(n2 是函数)有效:
(def n2 #(iterate inc 0))
(println
(->> (n2)
(take 20))
)
为什么不允许第二个代码?
在第一个代码中, (range) 返回无限序列 (0...)
在第二个代码中, (iterate inc 0) 也返回无限序列 (0...)
是什么让如此不同?
请指导。谢谢。
(编辑)
很高兴听到 code#1 和 code#1 是等效的。
但是,在我的环境(灯桌)中无法评估它: