Вопрос Noob, используя Win7 64-bit, 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 из файла, я получаю сообщение об ошибке. Это происходит с пространством имен и без него (ns ...: require ...), как показано в документации по pprint
Файл
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
Я не понимаю общей идеи того, что здесь происходит. Почему один работает, а другой нет? Это имеет отношение к пространствам имен? ? Пути к классам Другое простое исправление? Ясно, что вопросы нуб, но я нахожу, что это происходит с кучей примеров ... Я не могу их запустить, хотя кажется, что импортировать / использовать / требовать / включать их просто.