我有一个引用的表达式,例如
(def foo '(+ 1 (bar)))
我希望能够找到此列表中任何元素的类型,例如执行类似的操作
(type (second foo))
根据值的类型,我得到不同的结果,例如以下两者都评估为 java.lang.Double,这就是我想要的
(type '3.0)
(type 3.0)
然而
(type '+)
(type +)
分别产率
clojure.lang.Symbol
clojure.core$_PLUS_
我想也许解决键会有所帮助
(type (resolve '+))
评估为:
clojure.lang.Var