Подтвердить что ты не робот

Список Elisp содержит значение

Как вы проверяете, в elisp, если список содержит значение? поэтому следующее возвращение t:

(contains 3 '(1 2 3))

но

(contains 5 '(1 2 3))

вернет нуль.

4b9b3361

Ответ 1

Вам нужна функция member

Например:

(member 3 '(1 2 3))

Он вернет хвост списка, чей автомобиль является элементом. Хотя это не строго t, любое значение non-nil эквивалентно true для логической операции. Кроме того, member использует equal для проверки равенства, используйте memq для более строгого равенства (используя eq).

Ответ 2

ответ freiksenet хорош и идиоматичен. Если вы используете dash.el, вы также можете вызвать функцию -contains?, который выполняет точно то же самое - проверяет, содержит ли какой-либо список элемент:

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