我有一个小问题要理解在 lisp 中做
我有这个代码:
(defun iota-b (n)
(do ((x 0 (+1 x))
(u '() (cons x u)))
((> x n) (nreverse u))))
(iota-b 5)
(0 1 2 3 4 5)
在文档中有“do”基本模板是:
(do (variable-definitions*)
(end-test-form result-form*)
statement*)
我真的不明白我的身体在我的函数中在哪里 iota-b 对我来说是
(u '() (缺点 xu)))
显然不是,为什么我们把 (u '() (cons xu))) 放在变量定义中?