Hen*_*gon 4 namespaces clojure
如果我有一个符号,其命名空间是别名,如q/w,我怎样才能找到它的实际命名空间,比如actual.namespace/w?
我知道这resolve将给我完全限定的var,但我不知道如何获得var的命名空间.
我能做的最好的事情是:
(defn fqns [s] (str (get (ns-aliases *ns*) (symbol (namespace s)))))
Run Code Online (Sandbox Code Playgroud)
当然有一种更简单的方法吗?
您可以获取符号的名称空间对象,如下所示(如果您想将ns的名称作为字符串,那么只需在末尾调用str):
(defn fqns [s] (->> (resolve s) meta :ns))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2412 次 |
| 最近记录: |