Может кто-нибудь объяснить следующее поведение? В частности, почему функция возвращает каждый раз другой список? Почему при вызове функции 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)
каждый раз?