如何在函数返回的列表上使用添加到列表
How to use add-to-list on a list returned by function
我有一个 return 列表的功能。它可能 return 一个空白列表或一个数字列表。我想将 add-to-list
应用于 return 值。可能吗?
(defun return-list () body....)
(setq test (add-to-list (return-list) 1) )
函数 add-to-list
作用于 变量 ,而不是 列表 。
例如:
(defvar test (return-list))
(add-to-list 'test 1)
如果您无条件地添加到列表,请使用宏push
,它作用于以下位置:
(push 1 test)
但是,对于您的情况,您可以做得更简单:
(setq test (cons 1 (return-list)))
如果你只想添加一个元素,当它还不存在时,使用宏cl-pushnew
,它也在地方上运行:
(pushnew 1 test)
;; `test' is now (1)
(pushnew 1 test)
;; `test' is still (1)
我有一个 return 列表的功能。它可能 return 一个空白列表或一个数字列表。我想将 add-to-list
应用于 return 值。可能吗?
(defun return-list () body....)
(setq test (add-to-list (return-list) 1) )
函数 add-to-list
作用于 变量 ,而不是 列表 。
例如:
(defvar test (return-list))
(add-to-list 'test 1)
如果您无条件地添加到列表,请使用宏push
,它作用于以下位置:
(push 1 test)
但是,对于您的情况,您可以做得更简单:
(setq test (cons 1 (return-list)))
如果你只想添加一个元素,当它还不存在时,使用宏cl-pushnew
,它也在地方上运行:
(pushnew 1 test)
;; `test' is now (1)
(pushnew 1 test)
;; `test' is still (1)