Jas*_*uit 6 lisp syntax let do-loops
在Peter Seibel的Practical Common Lisp中,他给出了这个例子:
(do ((nums nil) (i 1 (1+ i)))
((> i 10) (nreverse nums))
(push i nums))
Run Code Online (Sandbox Code Playgroud)
我可以看到它是如何工作的,在循环中使用nums但不给它一个步骤形式.为什么要将num放在变量定义中而不是这样做:
(let (nums) (do ((i 1 (+ i 1)))
((> i 10) (nreverse nums))
(push i nums)))
Run Code Online (Sandbox Code Playgroud)
我确信这是一个很好的理由,但我还没有得到它.
| 归档时间: |
|
| 查看次数: |
659 次 |
| 最近记录: |