2010-06-22 17 views
7

當我嘗試運行這段代碼在Eclipse:沒有這樣的變種:clojure.core/DEF

(ns cl1 
    (def s 1) 
    (print s) 
) 

我得到

java.lang.Exception: No such var: clojure.core/def (clojure.clj:1) 

我是一個完整的Clojure的新手,但我認爲,上面的代碼應該創建符號s,然後打印與屏幕(1)等價的內容。

回答

10

在ns聲明中不使用def(ns是一個宏,btw)。試試這個來代替:

(ns cl1) 

(def s 1) 
(println s) 

http://clojure.org/namespaces

+1

啊哈!我以爲你必須用命名空間來包裝整個文件。這是我混亂的根源。向前學習! – 2010-06-22 19:50:41