データベース操作を行うために小さな名前空間を作成しました。別の名前空間内から使用したいと思います。通常、同じディレクトリ内のファイルを持った後、すべてのことが必要だだろう複数の名前空間を持つClojure CLR
(ns program (:require [other-ns :as other]) (:gen-class))
を行います。しかし、これはClojure CLRでは動作しません、コンパイラはother-nsについて知らないことについて不平を言います。では、これを行う正しい方法は何ですか?すべての名前空間に対して別々のアセンブリを使用していますか?
[EDIT]別の例
another.clj
(ns another)
(defn hello [name] (str "Hello " name))
program.clj
(ns program
(:require [another :as a])
(:gen-class))
私はREPLでprogram.cljをロードし、このメッセージを得る:
をFileNotFoundExceptionロードパスにanother.clj.dllまたはanother.cljが見つかりませんでした。 clojure.lang.RT.load(d:\ work \ clojure-clr \ Clojure \ Clojure \ Lib \ RT.cs:3068)
http://clojure.org/libsを見て、予想される場所にすべての名前空間/ファイルがあることを確認してください。何が間違っているのか分からない場合は、(ns ..)形式、ファイルシステム内の位置、表示されているエラーを表示してください。 –
プロジェクトを最初にコンパイルするときにエラーが発生しますか?それを構築して、REPLにprogram.cljをロードしてみてください。私が尋ねることができる唯一の他の事はあなたが新しいvsClojureを使用していることです? – Rob