Из РЕПЛ (Cloure 1.4.0) Я пытаюсь использовать source
макрос, чтобы показать дефиницию моей функции - но она отвечает «Источник не найдено»Почему не работает «источник»?
я могу использовать source
на source
себя, как это (и может видеть, что он использует source-fn
) - но не знаете, почему это не нравится мое определение функции defn x[] "hello"
?
user=> (source source)
(defmacro source
"Prints the source code for the given symbol, if it can find it.
This requires that the symbol resolve to a Var defined in a
namespace for which the .clj is in the classpath.
Example: (source filter)"
[n]
`(println (or (source-fn '~n) (str "Source not found"))))
nil
user=> (defn x[] "hello")
#'user/x
user=> (source x)
Source not found
nil
user=>
Итак, есть способ найти «источник» встроенной функции REPL (и т. Д.)? Например, если я сидел только в редакторе REPL, но хотел сохранить свою работу (как она сейчас стоит) - возможно ли это? – monojohnny