【发布时间】:2015-02-24 17:55:12
【问题描述】:
来自 Haskell,我通常的工作流程是在 ghci 上 :l <file name.hs> 并使用我在那里拥有的功能和 ADT。
现在我在典型的lein new app project 上下文中使用lein repl。我在我的core.clj 旁边创建了一个testing.clj 文件。在那里我定义了几个函数,一个协议和一个实现该协议的记录。我可以通过(use 'testing.testing :reload) 使用该功能,问题是我无法使用实际记录:
(def c (Something. 0))
我明白了:
CompilerException java.lang.IllegalArgumentException: Unable to resolve classname: Something
那么,在这种情况下,“更好”的工作流程是什么?我不想直接在 REPL 上设置函数、协议、记录,而且我不想依赖我的 core.cls 文件?我只想要一个文件,我可以在其中转储一堆东西并使用它。
PS:我的环境是 Mac OSX Terminal + Sublime
编辑:几分钟后,我能够通过以下方式加载记录:
(load-file <file name>)(import 'testing.testing.Something)
我的意思是,肯定有比这更好的方法...:/我只想加载所有内容。另一方面,我可以使用记录实现的协议方法。
【问题讨论】:
-
你想要
load-file吗? clojuredocs.org/clojure.core/load-file -
@Kevin 添加了一个编辑。