开发者

How do you evaluate a java.lang.String in clojure

How would I eval to the following?

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

(defn -mai开发者_运维知识库n [& args]
  (eval (*func* (first args)))

java exam.Hello "run-clojure-func"


Two versions for you to consider – entirely equivalent, but useful as points of comparison:

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

and this, using destructuring and no -> macro usage:

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

resolve is obviously the key. The docs are your friend. :-) Also, as an unfair generalization, eval is almost never necessary.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜