如果我一直在玩clojure REPL(可能一直在尝试(assoc(、(seq(或(reduce(,并创建了一些临时映射作为示例(,但想打印该会话中定义的变量列表,有办法做到这一点吗?像(println def(什么的?
如果您在user
命名空间中,则可以使用(dir user)
。或者你感兴趣的任何其他ns。这将向您展示所有def
编辑的内容。如果它不在那里(它通常会在REPL中自动获得use
ed,您可以在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}