#clojure
#clojure
Вопрос:
Если я играл в clojure REPL (возможно, экспериментировал с (assoc) или (seq) или (reduce) и создал некоторые временные карты для примеров), но хотел распечатать список переменных, определенных в этом сеансе, есть ли способ сделать это? Что-то вроде (println def) или что-то в этом роде?
Ответ №1:
Вы можете использовать (dir user)
, если вы находитесь в user
пространстве имен. Или любой другой ns, который вас интересует. Это показывает вам все def
-отредактированные вещи. Если его там нет (обычно use
он автоматически редактируется в REPL, вы можете найти его в clojure.repl/dir
).
Ответ №2:
ns-interns
я думаю, вы можете подойти довольно близко.
user=> (def x 1)
#'user/x
user=> (def y 2)
#'user/y
user=> (ns-interns *ns*)
{x #'user/x, y #'user/y}