ClojureScript - 列出命名空间的函数

时间:2016-01-27 13:33:34

标签: clojure clojurescript

如何列出ClojureScripts名称空间的函数/变量?

这是一个与Clojure等效的问题,但提到的解决方案对我不起作用。

3 个答案:

答案 0 :(得分:1)

clojure.repl/dir适用于最新的ClojureScript(1.7.228)

答案 1 :(得分:1)

ns-interns似乎可以满足您的需求。如果需要当前名称空间的vars / fns,可以将*ns*与之结合使用。

用法:

(keys (ns-interns 'my-ns)) ;; All defined variables/functions of an arbitrary evaluated namespace

(keys (ns-interns *ns*)) ;; All defined variables/functions of the current namespace

请注意, ns 的值在运行时间和编译时间上有所不同,并且使用CIDER / REPL也会影响当前设置的ns。例如,后者在我的lein repl中有效,但在我的CIDER副本中无效。这个answer有可能解决该问题。

答案 2 :(得分:0)

现在我正在做:

(.keys js/Object my.ns)

因为它看起来像命名空间是一个js对象。