有人可以解释以下行为吗?具体来说,为什么函数每次都返回不同的列表?为什么没有some-list在'(0 0 0)每次调用该函数时进行初始化?
(defun foo ()
(let ((some-list '(0 0 0)))
(incf (car some-list))
some-list))
输出:
> (foo)
(1 0 0)
> (foo)
(2 0 0)
> (foo)
(3 0 0)
> (foo)
(4 0 0)
谢谢!
编辑:
另外,假设我希望'(1 0 0)每次输出该功能,建议的实现此功能的方法是什么?
米脂
慕神8447489