我在编写Clojure源代码时,经常会键入
(ns user)
并重复按下 C+c M+n。问题在于我经常使用像 source
和 doc
这样的函数,它们在 clojure.repl
中,并且我不想将其 :require
到我的命名空间中。有经验的Clojurians 在这种情况下该怎么做呢?
澄清:我知道Clojure的命名空间是如何工作的。我想实现的是能够在REPL中调用 (source myfunc)
、(doc myfunc)
等函数,而无需在每个命名空间中都使用完全限定名,并且无需从clojure.repl
中要求这些函数。
user
命名空间及其所有依赖项。例如,当我不使用Component时,我的dev/user.clj
文件通常看起来像这样:(ns user (:require [clojure.pprint :refer [pprint]] [clojure.repl :refer [doc source]]))
- Sam EstepC-c M-n
。如果你在 Emacs 中使用 CIDER,那么M-.
相当于source
。而C-d d d
则是doc
。如果光标已经在myfunc
上了,你就不需要再输入它了。 - Greg Hendershott