Como garantir que uma lista de associações mantenha chaves exclusivas no Emacs
Dada a frequência com que as chaves são adicionadas às listas de associações, comoauto-mode-alist
, Presumo que exista algum método idiomático para manter listas de associação com chaves exclusivas, mas ainda não o encontrei.
Digamos que eu execute o seguinte:
(setq alist '())
(add-to-list 'alist '(a . 1))
(add-to-list 'alist '(a . 2))
(add-to-list 'alist '(b . 3))
Depois de executar isso, alist contém((b . 3) (a . 2) (a . 1))
. eu vejo issoadd-to-list
pode levar um opcionalcompare-fn
, então presumo que exista algum método que eu poderia passar para obter((b . 3) (a . 1))
como resultado. Também estou ciente de que poderia usar tabelas de hash para isso, mas estava curioso para saber como fazê-lo linguisticamente com uma lista de associações.