clojure 有没有办法在函数加载后获取函数的代码?
IE。不做类似[未经测试]的事情
(defmacro blat [x] `(do (def code ~(quote (mexpand-all x)))
~x)))
(blat (defn func [abc] (...)))
您可以使用以下命令获取符号的来源clojure.repl/source
功能。但是,只有当符号解析为的 var 位于类路径上的 .clj 文件中时,这才有效。例如,您不能这样做:
user=> (defn foo [x] x)
#'user/foo
user=> (require 'clojure.repl)
nil
user=> (clojure.repl/source foo)
Source not found
nil
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)