2010-06-22 11 views
7

Cuando trato de ejecutar este código en Eclipse:tales var: clojure.core/def

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

consigo

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

Soy un novato clojure completa, pero creo que el código anterior debe crear el símbolo s, y luego imprimir lo que es equivalente a la pantalla (1).

Respuesta

10

def no se usa dentro de una declaración ns (ns es una macro, por cierto). probar este lugar:

(ns cl1) 

(def s 1) 
(println s) 

http://clojure.org/namespaces

+1

Aha! Pensé que tenía que adjuntar todo el archivo con el espacio de nombres. Esta es la fuente de mi confusión. ¡Adelante para aprender! –