有人可以解释以下行为吗?具体来说,为什么函数每次都返回不同的列表?为什么不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)每次输出该功能,建议的实现此功能的方法是什么?