mat*_*sko 4 functional-programming clojure
我正在尝试在Clojure中读取函数集合的元数据,但var或reader特殊表单不起作用,除非它们直接处理符号.
; this works
(var my-fn)
; this doesn't
(defn val-it [x] (var x))
(val-it my-fn)
Run Code Online (Sandbox Code Playgroud)
有没有办法让这个在另一个函数的范围内工作?
resolve返回当前命名空间的上下文中与给定符号对应的Var或类对象.ns-resolve允许您指定要在其中解析符号的命名空间.
(resolve 'my-fn)
;= #'some.ns/my-fn
Run Code Online (Sandbox Code Playgroud)
如果符号无法解析为Var,nil则返回.