Importazione di funzioni di clojure da barattoli
-
27-09-2020 - |
Domanda
Sto giocando con Clojure, e non riesco a capire come importare una funzione da Clojure-Contrib.jar.Lavorare da Questa risposta , sto facendo quanto segue:
.Running the Repl come SO:
java -cp clojure.jar:clojure-contrib.jar clojure.main
.
Quindi provare ad importare una funzione:
user=> (use '[clojure-contrib.duck-streams :only (writer reader)])
.
Non funziona, e ottengo il seguente errore:
.java.io.filenotfoundexception: Impossibile localizzare clojure_contrib / duck_streams__init.class o clojure_contrib / duck_streams.clj on classpath: (no_source_file: 0)
Provalo con un punto invece di un Dash anche non funziona:
user=> (use '[clojure.contrib.duck-streams :only (writer reader)])
.
Ottieni lo stesso errore:
.java.io.filenotfoundException: Impossibile localizzare clojure / contrib / duck_streams__init.class o clojure / contrib / duck_streams.clj on classpath: (no_source_file: 0)
Cosa sto facendo male?
Soluzione
Questo dovrebbe funzionare
(use 'clojure.contrib)
.
Non ho Clojure Handy in questo momento per controllare, ma
(use 'clojure.contrib :only (writer reader))
.
dovrebbe anche funzionare
Altri suggerimenti
è clojure.jar
e clojure-contrib.jar
nella tua corrente di lavoro corrente?In caso contrario, è necessario specificare il percorso completo per i file JAR nel classpath.
è clojure.contrib, non clojure-contrib.Nota Dot vs Dash.