2009-09-11 2 views

risposta

52

La funzione che vi serve è member

Ad esempio:

(member 3 '(1 2 3)) 

Si restituirà la coda della lista la cui auto è elemento. Mentre questo non è rigorosamente t, any non-nil value is equivalent to true for a boolean operation. Inoltre, per verificare l'uguaglianza, member uses equal, utilizzare memq per un'uguaglianza più rigorosa (utilizzando eq).

+1

Per ulteriori dettagli, vedere http://www.gnu.org/software/ emacs/emacs-lisp-intro/html_node/Lista-Processing.html –

5

freiksenet's answer è buono e idiomatico. Se si utilizza dash.el, si potrebbe anche chiamare la funzione -contains?, che fa esattamente la stessa controlli se qualche lista contiene un elemento:

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