为什么我需要写(doc str)但是(meta#'str)?

Han*_*Sun 3 syntax macros clojure

为什么(doc str)不过(meta #'str)

在后者中,为什么#'必要,哪个不在第一个?

Ank*_*kur 5

doc是一个内部应用#'ie 的宏,即var传递的名称,因此您不需要将var本身传递给它.meta是一个函数,因此它需要传递var本身,否则如果你只使用var的名称,var的值将传递给它(如同doc)