2010-06-22 29 views
7

Khi tôi cố gắng chạy mã này trong nhật thực:Không var như: clojure.core/def

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

tôi nhận được

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

Tôi là một newbie clojure hoàn chỉnh, nhưng tôi nghĩ rằng đoạn mã trên sẽ tạo ra các ký hiệu, và sau đó in những gì s tương đương với màn hình (1).

Trả lời

10

def không được sử dụng bên trong khai báo ns (ns là macro, btw). thử này để thay thế:

(ns cl1) 

(def s 1) 
(println s) 

http://clojure.org/namespaces

+1

Aha! Tôi nghĩ bạn phải kèm theo toàn bộ tập tin với không gian tên. Đây là nguồn gốc của sự nhầm lẫn của tôi. Trở đi học tập! –

Các vấn đề liên quan