我将如何评估以下内容?
(defn run-clojure-func []
(println "welcome"))
(defn -main [& args]
(eval (*func* (first args)))
java exam.Hello "run-clojure-func"
最佳答案
两个版本供您考虑 - 完全等效,但作为比较点很有用:
(defn -main [& args]
((-> args first symbol resolve)))
这个,使用 destructuring没有->
macro用法:
(defn -main [[fn-name]]
((resolve (symbol fn-name))))
resolve
显然是关键。文档是你的 friend 。 :-) 另外,作为一种不公平的概括,eval
几乎从来没有必要。
关于clojure - 如何在 clojure 中评估 java.lang.String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3860739/