D: qual è il modo idiomatico di mappare una funzione attraverso un elenco di proprietà?
Le varie funzioni di mappatura ( mapcar
e famiglia) mappano una funzione su una sequenza come un elenco. Come si usano queste funzioni quando si ha a che fare con un elenco di proprietà , ovvero quando si cerca di mappare ciascuna delle proprietà contenute nell'elenco (che sarebbe ogni altro elemento a partire dal primo)? Mi sembra che la funzione di mappatura debba accedere all'elenco in coppie di elementi anziché come singoli elementi.
Come esempio giocattolo, come si potrebbe prendere un elenco di proprietà e raccogliere tutti i valori delle proprietà? Se fosse invece un elenco di associazioni sarebbe piuttosto semplice:
(mapcar #'cadr '((:prop1 a) (:prop2 b) (:prop3 c))) ;=> (a b c)
Sono sicuro che questo potrebbe essere fatto con un ciclo, ma sembra un po 'laborioso e mi chiedo se c'è un modo più idiomatico per farlo.
mapcar
esempio di alist) o se si desidera mappare le coppie di simboli di proprietà e valore della proprietà. Quest'ultimo è più generale (più generalmente utile), immagino.