Clojure Hello World - такой ошибки пространства имен нет

Я пытаюсь написать helloworld с помощью clojure. Я использую leinengen с emacs и swank-clojure.

Вот что содержит мой src/hello.clj:

(ns hello)

(defn hello []  
(println "Hello World"))

Когда я clojure-jack-in и C-c C-c над функцией, я получаю:

No such namespace: hello                                                   
[Thrown class java.lang.Exception]  

Что я делаю неправильно?


person roshanvid    schedule 26.02.2012    source источник


Ответы (1)


С C-c C-c вы просите серверную часть скомпилировать функцию в точке в пространстве имен "hello", но это пространство имен еще не существует - вы еще не выполнили строку (ns hello). Так что попробуйте вместо этого C-c C-k, который скомпилирует весь файл. После этого C-c C-c позволит вам повторно скомпилировать функцию.

person sanityinc    schedule 26.02.2012
comment
Вот это да. Я потратил целый час на то, чтобы понять это! - person roshanvid; 27.02.2012