2011-10-06 8 views
5

¿Cómo se pueden implementar las claves compuestas en clojure? Si tengo un mapa donde Nombre y apellido, por ejemplo, apunte a una lista de atributos .... ¿Podría hacer un mapa que contuviera ambos campos como clave?¿Cómo se pueden implementar las claves compuestas en clojure?

Y mientras tanto ... En Java puede anular "iguales" para hacer claves muy avanzadas para mapas ... ¿Cómo se implementan claves sofisticadas en clojure?

Respuesta

11

Puede utilizar cualquier tipo de objeto que implemente correctamente iguales como una clave. Para clojure, eso incluye todos los tipos de colección, por lo que puede usar una colección estándar de clojure como clave. Ejemplo utilizando vectores de dos elementos como claves:

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