Как вы оцениваете java.lang.String в clojure - PullRequest
3 голосов
/ 05 октября 2010

Как бы я оценил следующее?

(defn run-clojure-func []
  (println "welcome"))

(defn -main [& args]
  (eval (*func* (first args)))

java exam.Hello "run-clojure-func"

1 Ответ

7 голосов
/ 05 октября 2010

Две версии для вас - полностью эквивалентные, но полезные для сравнения:

(defn -main [& args]
  ((-> args first symbol resolve)))

и это, используя деструктурирование и не -> макрос использование:

(defn -main [[fn-name]]
  ((resolve (symbol fn-name))))

resolve, очевидно, является ключом.Документы твой друг.:-) Кроме того, как несправедливое обобщение, eval почти никогда не требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...