获取 clojure 函数的代码

2024-01-23

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(使用前将#替换为@)

获取 clojure 函数的代码 的相关文章

随机推荐