Elisp列表包含一个值

50

如何在elisp中检查列表是否包含某个值? 以下代码将返回true:

(member 'a '(a b c))

其中,'a是要查找的值,'(a b c)是要搜索的列表。

(contains 3 '(1 2 3))

但是

(contains 5 '(1 2 3))

将返回nil值。

2个回答

81

1
更多详情请参见http://www.gnu.org/software/emacs/emacs-lisp-intro/html_node/List-Processing.html。 - viam0Zah

8

freiksenet的回答很好,并且用语习惯。 如果您使用dash.el,您还可以调用函数-contains?,该函数完全相同-检查某个列表是否包含一个元素:

(-contains? '(1 2 3) 2) ; t

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接