菜鸟问题,使用Win7 64位,Clojure 1.2.0,Java 1.6.0_22
当我从命令行启动 clojure 时,pprint 功能很容易使用。
user=> pprint
#<pprint$pprint clojure.pprint$pprint@16dfa45>
user=> (pprint "hi")
"hi"
nil
user=>
但是当我尝试从文件中使用 pprint 时,我得到一个错误。如 pprint 文档中所示,无论有无命名空间(ns...:require...)都会发生这种情况
clj 文件如下:
(ns whatevah
(:require clojure.pprint))
(pprint "hi")
错误如下:
C:\Users\mischw\code\Clojure>java -cp ";c:\users\mischw\code\clojure\classes\*;c:\Program Files (x86)\Java\SWT;c:\users\mischw\code\clojure\classes\bookcode\*" clojure.main swinglearn.clj
Exception in thread "main" java.lang.Exception: Unable to resolve symbol: pprint in this context (swinglearn.clj:14)
... 21 more
Output completed (0 sec consumed) - Normal Termination
我不明白这里发生了什么。为什么一个有效而另一个无效?这与命名空间有关吗?类路径?其他一些简单的修复?显然是菜鸟问题,但我发现这发生在一堆例子中......即使导入/使用/需要/包含它们似乎很简单,我也无法运行它们。