/ Ako môžete implementovať kompozitné kľúče v clojure? - clojure

Ako môžete implementovať kompozitné kľúče v clojure? - clojure

Ako môžete implementovať kompozitné kľúče v clojure? Ak mám mapu kde Napríklad meno a priezvisko ukáže zoznam atribútov .... Mohol by som vytvoriť mapu, ktorá bude obsahovať obe polia ako kľúč?

A zatiaľ ... V jave môžete prepísať "rovno", aby ste urobili veľmi pokročilé kľúče pre mapy ... Ako sú sofistikované kľúče implementované v clojure?

odpovede:

11 pre odpoveď č. 1

Môžete použiť akýkoľvek objekt, ktorý správneimplementuje rovnaké ako kľúč. Pre clojure, ktorý zahŕňa všetky typy zbierok, takže môžete ako kľúč použiť len štandardnú kolekciu clojure. Príklad používanie dvojzložkových vektorov ako kľúčov:

(def foo {[1 2] :bar [3 4] :baz})
=> #"user/foo
(foo [1 2])
=> :bar