开发者

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

开发者 https://www.devze.com 2023-01-19 04:36 出处:网络
How would I eval to the following? (defn run-clojure-func [] (println \"welcome\")) (defn -mai开发者_运维知识库n [& args]

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

精彩评论

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