Emacs Lisp 中 'delete' 和 'remove' 有什么区别
what's difference between 'delete' and 'remove' in Emacs Lisp
我正在通过阅读别人的代码来学习 Elisp。然后我发现人们同时使用 delete
和 remove
从序列中删除元素。我检查了文档和 remove
的代码,它只是 delete
的包装器,当序列是列表时,执行 copy-sequence
。
复制列表来执行 delete
真的很重要吗?或者我可以只使用 delete
这是一个 C
命令,我认为这应该更有效。
remove
returns
a copy of seq with all occurrences of elt removed.
而 delete
delete[s] by side effect any occurrences of elt as a member of seq.
因此它修改了原始序列。 (除非第一个元素命中,所以请参阅 C-hf 删除以获取完整详细信息。)
我正在通过阅读别人的代码来学习 Elisp。然后我发现人们同时使用 delete
和 remove
从序列中删除元素。我检查了文档和 remove
的代码,它只是 delete
的包装器,当序列是列表时,执行 copy-sequence
。
复制列表来执行 delete
真的很重要吗?或者我可以只使用 delete
这是一个 C
命令,我认为这应该更有效。
remove
returns
a copy of seq with all occurrences of elt removed.
而 delete
delete[s] by side effect any occurrences of elt as a member of seq.
因此它修改了原始序列。 (除非第一个元素命中,所以请参阅 C-hf 删除以获取完整详细信息。)