Clojure Repl-有没有一种方法可以查看Repl会话中定义了哪些变量(因此可用)



如果我一直在玩clojure REPL(可能一直在尝试(assoc(、(seq(或(reduce(,并创建了一些临时映射作为示例(,但想打印该会话中定义的变量列表,有办法做到这一点吗?像(println def(什么的?

如果您在user命名空间中,则可以使用(dir user)。或者你感兴趣的任何其他ns。这将向您展示所有def编辑的内容。如果它不在那里(它通常会在REPL中自动获得useed,您可以在clojure.repl/dir中找到它(。

ns-interns可以让你非常接近我认为。

user=> (def x 1)
#'user/x
user=> (def y 2)
#'user/y
user=> (ns-interns *ns*)
{x #'user/x, y #'user/y}

最新更新