In un programma Clojure ho un array composto da mappe contenenti nomi ed e-mail di persone.Uguaglianza personalizzata in Clojure distinta
ad es.
[
{ :name "John" :email "[email protected]" }
{ :name "Batman" :email "[email protected]" }
{ :name "John Doe" :email "[email protected]" }
]
vorrei rimuovere le voci duplicate in considerazione, ai fini del confronto, le coppie che hanno lo stesso e-mail per essere uguali. Nell'esempio sopra l'output sarebbe:
[
{ :name "John" :email "[email protected]" }
{ :name "Batman" :email "[email protected]" }
]
Qual è il modo migliore per ottenere questo in Clojure? C'è un modo per far sapere a distinti ciò che è uguale alla funzione da usare?
Grazie.
Poiché le parole chiave sono funzioni, un'invocazione più idiomatica sarebbe '(distinta-by: mappe e-mail) ' – Alex