我是 lisp 的新手。我没有正确理解如何在列表上实现附加功能。我尝试了以下程序。
(defvar temp)
(setq temp '())
(append temp (logxor 1 0))
Run Code Online (Sandbox Code Playgroud)
当 temp 应该在其中存储 1 时,它似乎只存储 NIL 值。
append返回新值,它不会修改其参数。您需要使用setq:
(setq temp (append temp (list 1)))
Run Code Online (Sandbox Code Playgroud)
或push(添加到列表的开头,而不是结尾!):
(push 1 temp)
Run Code Online (Sandbox Code Playgroud)