Кто-нибудь может объяснить следующее поведение? В частности, почему функция каждый раз возвращает разный список? Почему 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)
Спасибо!
EDIT:
Также, какой рекомендуемый способ реализации этой функции, предполагая, что я хочу, чтобы функция выводила '(1 0 0)
каждый раз?