Digamos que tengo una enumeración de Java. Por ejemplo:¿Cómo puedo parametrizar el acceso a una enumeración Java en clojure?
public enum Suits {CLUBS, DIAMONDS, HEARTS, SPADES};
Normalmente, yo puedo hacer algo en clojure con la enumeración de este modo:
(defn do-something []
(let [s Suits/DIAMONDS] (...)))
Pero, quiero escribir una función clojure que permite que la persona que llama para especificar qué instancia de enumeración de uso:
(defn do-something-parameterized [suit]
(let [s Suits/suit] (...)))
la idea es permitir que una persona que llama pase en "DIAMONDS"
y tienen la instancia DIAMONDS
enumeración conseguir obligado a s
en el let
.
Podría tener una coincidencia cond
con el parámetro, pero parece más complicado de lo necesario. Supongo que también podría usar una macro para construir Suits/
agregado a suit
. ¿Es esta la manera de hacerlo o hay una forma no macro que me falta?
de manera obvia, Dave. Estoy avergonzado de haberme olvidado de esto. – stand
¡Ah, mucho mejor! –