在#nrepl中提出了关于如何看到load-file所评估的所有内容的问题。我的想法是启动一个子repl,使用自定义的eval,在那里加载文件,然后返回。我很惊讶load-file没有使用repl的eval,但我不确定是否应该有这样的期望。
(clojure.main/repl
:eval (fn [form]
(prn "i could do something to: " form)
(eval form))
:read server/repl-read)
(load-file "stuff.clj")
"i could do something to: " (load-file "stuff.clj") ;; sees the load-file form
#'stuff/foo ;; but not any of the forms in stuff.clj
我天真地期望能从所加载的文件中获得所有形式,但这似乎并不成立。load-file应该使用当前repl的eval函数吗?