kim*_*imh 5 clojure lazy-sequences
当我(println (iterate inc 0))在我的repl中运行时,我会得到这样的东西:
user=> (println (iterate inc 0))
(0 1 2 3 4 5 6 7 8 9 10 11 12 13 ....................
Run Code Online (Sandbox Code Playgroud)
我运行代码的期望是repl什么都没显示,只是因为(iterate inc 0)永远不会结束而卡住了.但是,我明白了(0 1 2 3 ....
(iterate inc 0)产生永不回归的无限序列.如果它永远不会结束,那为什么要println开始印刷价值?
换句话说,(println xx)即使输入从未完成评估,为什么开始评估?
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |