La assoc KEY LIST
función devuelve el primer elemento de un alist
automóvil cuyo es igual a KEY
.
¿Existe una función incorporada de Emacs Lisp que devuelve todos los elementos de alist
cuyos automóviles son iguales KEY
, como una sublista o una lista de valores? Después de todo, no es necesario que alist
tenga claves únicas.
Es decir,
(assoc foo '((foo . 5) (bar . 6) (foo . 7))) = '(foo . 5)
Pero,
(assoc-all foo '((foo . 5) (bar . 6) (foo . 7))) = '((foo . 5) (foo . 7))
association-lists
Matthew Piziak
fuente
fuente
#'
lugar de solo'
decirle al compilador que esta es una referencia de función (funciona para ambos'equal
y'car
) ..car
oequal
no, ¿no?#'
siempre es redundante ya que se supone que solo debe hacer referencia a funciones definidas :-). Creo que es una buena costumbre citar siempre las referencias de sus funciones. Y, quién sabe, el compilador de bytes podría algún día utilizar esta información para optimizar su código :-).Otra solución que involucra
seq-filter
:fuente