Clojure Repl-是否有办法查看在Repl会话中定义了哪些变量(并因此可用)?

Clojure Repl-是否有办法查看在Repl会话中定义了哪些变量(并因此可用)?,clojure,Clojure,如果我在clojure REPL中玩过,我可能在尝试assoc、seq或reduce,并为示例创建了一些临时映射,但我想打印在该会话中定义的变量列表,有没有办法做到这一点?像println def之类的东西?如果您在用户名称空间中,可以使用dir user。或您感兴趣的任何其他ns。这显示了所有定义的内容。如果它不在那里,它通常会在REPL中自动使用,您可以在clojure.REPL/dir中找到它。如果您在用户名称空间中,则可以使用dir user。或您感兴趣的任何其他ns。这显示了所有定义的

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

如果您在用户名称空间中,可以使用dir user。或您感兴趣的任何其他ns。这显示了所有定义的内容。如果它不在那里,它通常会在REPL中自动使用,您可以在clojure.REPL/dir中找到它。

如果您在用户名称空间中,则可以使用dir user。或您感兴趣的任何其他ns。这显示了所有定义的内容。如果它不在那里,它通常会在REPL中自动使用,您可以在clojure.REPL/dir中找到它。

我认为它可以让您非常接近

user=> (def x 1)
#'user/x
user=> (def y 2)
#'user/y
user=> (ns-interns *ns*)
{x #'user/x, y #'user/y}
我想这能让你离得很近

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