Je cette liste:Comment accéder à un élément dans une liste?
("x" "y" "z")
Comment puis-je extraire un élément de la liste? (Dans ce cas, je suis intéressé par le premier élément de la liste, mais je cherche une solution générale.)
Je cette liste:Comment accéder à un élément dans une liste?
("x" "y" "z")
Comment puis-je extraire un élément de la liste? (Dans ce cas, je suis intéressé par le premier élément de la liste, mais je cherche une solution générale.)
Vous devriez vraiment lire une introduction à elisp ou quelque chose avant d'essayer de l'utiliser. Le manuel Elisp qui est fourni avec Emacs dans certaines distributions est assez bon.
(nth 0 mylist)
http://www.gnu.org/software/emacs/elisp/html_node/List-Elements.html
Si vous connaissez la position de la liste de l'élément, puis utilisez (nth 0 mylist)
, comme @triplee indiqué.
Si vous voulez tester l'égalité des éléments (dans ce cas, l'égalité de chaîne) puis utilisez ceci:
(car (member "y" mylist))
(member "y" mylist)
retourne la sous-liste (queue) ("y" "z")
et car
renvoie le premier élément de cette sous-liste (car
est le même que nth
avec 0
premier argument).
Si la chaîne que vous voulez est pas membre de la liste, puis retourne member
la liste vide nil
(alias ()
) et car
de cette liste renvoie nil
. Donc member
est à la fois (a) un prédicat pour tester l'appartenance à la liste (renvoie nil' for not present and non-
nil` pour le présent) et (b) un moyen d'extraire la première sous-liste (queue) qui contient l'élément que vous recherchez.
Lire les sous-sections List Elements et Using Lists as Sets de la section Lists de GNU Emacs Lisp Reference Manual. Le manuel est votre ami, c'est le premier endroit où vous devriez regarder, quand vous avez une question sur Elisp. Pour accéder au manuel dans Emacs, voir l'aide du système d'info en appuyant sur F1 imelisp
Entrez ou contournez Info-Mode de fonctionnement manuel.
Si vous écrivez du code Elisp sérieux, je recommande d'installer le paquet dash
, qui a beaucoup de fonctions pour interroger et transformer des listes. Par exemple, si vous voulez trouver un premier (ou le dernier) élément qui satisfait un prédicat, utilisez -first
ou -last
:
(-first 'evenp '(1 2 3 4 5 6)) ; 2
(-last 'evenp '(1 2 3 4 5 6)) ; 6
Et vous devez accepter une réponse quand il est fourni. Dans ce cas, la réponse de @ triplee est correcte, en supposant que vous connaissiez la position de liste de l'élément. – Drew