我的代碼是這樣的創建列表:的Emacs Lisp:使用報價在本地範圍內(例如,功能範圍)
(defun test() "Test."
(setq lista '(A))
(push 'B lista)
(nreverse lista))
(message "%s" (test)) ; Output is (A B)
(message "%s" (test)) ; Output is (B A B)
,因爲我希望得到的結果是
(A B)
(A B)
如果我似乎很奇怪用(setq lista (list 'A))
替代(setq lista '(A))
,我得到預期的結果。我認爲列表創建方法會導致差異,但我不知道細節。
我的emacs的版本是GNU Emacs的24.5.1
你的問題已經有答案了:'quote'不*創建*任何東西,它只是讓你指的是硬編碼到代碼的值。 – Stefan