有没有一种方法在elisp中向列表推回元素?
我找到的最接近的方法是
然而问题在于,`add-to-list` 函数会强制要求唯一性。另一种选择是使用 `(push 'myList myVal)`,但这只能将值推入列表的前端。我曾尝试使用 `(cons myList myVal)`,但据我所知,它返回的不是列表。
目前工作的唯一方法是:
但那个语法很丑陋,感觉相当复杂,只是为了完成简单的操作。有没有更快的方法将元素推到列表的末尾?显然这是可能的,就像在(add-to-list)中看到的那样,但不强制唯一性,是否有某种方法可以做到呢?换句话说,像C++和List类中的老式push-back函数一样的好用的功能。
我找到的最接近的方法是
(add-to-list 'myList myValue t) ;; t tells it to put to back of the list
然而问题在于,`add-to-list` 函数会强制要求唯一性。另一种选择是使用 `(push 'myList myVal)`,但这只能将值推入列表的前端。我曾尝试使用 `(cons myList myVal)`,但据我所知,它返回的不是列表。
目前工作的唯一方法是:
(setq myList (append myList (list myVal)))
但那个语法很丑陋,感觉相当复杂,只是为了完成简单的操作。有没有更快的方法将元素推到列表的末尾?显然这是可能的,就像在(add-to-list)中看到的那样,但不强制唯一性,是否有某种方法可以做到呢?换句话说,像C++和List类中的老式push-back函数一样的好用的功能。