Estoy intentando escribir una macro que llamará a los métodos de configuración de Java en función de los argumentos que se le otorguen.Llamadas a un método dinámico en una macro Clojure?
Así, por ejemplo:
(my-macro login-as-fred {"Username" "fred" "Password" "wilma"})
podría ampliar a algo como lo siguiente:
(doto (new MyClass)
(.setUsername "fred")
(.setPassword "wilma"))
¿Cómo recomendaría hacer frente a esto?
Específicamente, tengo problemas para encontrar la mejor manera de construir el nombre del método setter y hacer que lo interprete como un símbolo en la macro.
Está seguro de querer llamar 'doto' con una clase como primer argumento? Harás cosas para el objeto Class en lugar de una instancia de esa clase. –
Ah, gracias, eso fue un error tipográfico. Lo he corregido ahora. – npad