Dynamische Methodenaufrufe in einem Clojure-Makro?

Ich versuche, ein Makro zu schreiben, das Java-Setter-Methoden basierend auf den Argumenten aufruft, die ihm gegeben werden.

Also zum Beispiel:

(my-macro login-as-fred {"Username" "fred" "Password" "wilma"})

könnte folgendermaßen erweitert werden:

(doto (new MyClass)
  (.setUsername "fred")
  (.setPassword "wilma"))

Wie würden Sie dies angehen?

Insbesondere habe ich Probleme, die beste Methode zum Erstellen des Setter-Methodennamens zu finden und ihn vom Makro als Symbol interpretieren zu lassen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage