14
mia dichiarazione dello spazio dei nomi REPL assomiglia a questo:Ottenere IllegalStateException quando ricarico uno spazio dei nomi nel
(ns test.foo
(:use
[clj-http.client :only (get) :as client]
[net.cgrand.enlive-html :only (select) :as html]))
Funziona benissimo nel REPL, la prima volta che lo uso. Poi, quando modifico il codice e provare quanto segue nella REPL:
(use :reload 'test.foo)
ottengo:
java.lang.IllegalStateException: get already refers to: #'clj-http.client/get in namespace: test.foo (foo.clj:1)
Sono su finestre con senso antiorario e anche provato con Leiningen (Lein repl).
Grazie mille Christophe. Immagino che non potrei aspettarmi di meglio di un maestro Clojure che risponde alla mia domanda; o) – Damien
Mentre questa risposta è ancora perfettamente valida, mi sono reso conto che l'uso di: require anziché: use risolve anche il mio problema, purché io usi sempre il prefisso specificato in: come chiamare le funzioni da altri namespace. Personalmente preferisco questa alternativa. – Damien