0
According to docsdir
仅列出“公共”变量。 事实上,它并不显示本身,而在当前的命名空间可能不可用:clojure:如何列出在当前命名空间中可访问的所有名称?
user=> (dir user)
nil
user=>
user=>
user=> (in-ns 'foo)
#<Namespace foo>
foo=>
foo=>
foo=> (dir foo)
CompilerException java.lang.RuntimeException: Unable to resolve symbol: dir in this context, compiling:(NO_SOURCE_PATH:17)
什么其他(非公开)类型的名称/乏存在吗? (这些可能是Java类型?)如何列出这些非公开名称?它们如何被导入到启动时的命名空间(或者一些“默认情况下”的命名空间)?如何在运行时搜索默认名称空间?
例如在Python中:dir()
列出当前命名空间中的所有内容,如果找不到引用变量,则在dir(__builtins__)
中检查它。