在#nrepl中提出了关于如何查看load-file所评估的所有内容的疑问。我的想法是启动一个带有自定义eval的子REPL,在那里加载文件,然后返回。令我惊讶的是,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函数吗?