別の .clj ファイル内から .clj ファイルをロードおよび/またはコンパイルしようとしています。ロードしようとしているファイルには一連のマップが含まれているだけなので、これを行っています。最終的にはこれらを xml ファイルに置き換えるつもりです。ファイルだけ:use
でも機能しますが、外部データの束をロードする練習をしようとしています。
(emacsなどを介して)replをランダムにハッキングすることで(load "default_libs")
、なんとか(名前空間修飾子、、、および(compile...)
のさまざまな組み合わせを使用して)マップにアクセスすることができましたが、replを再起動した後は機能しませんでしたとにかく、完全な名前空間名を使用してデータを取得する必要がありました。'
"
これは lib_manager.clj です。
(ns mycad.lib-manager
(:use [clojure repl]
[mycad utils]))
(compile 'mycad.default-libs)
(println mycad.default-libs/default-symbols)
これは、ロードしようとしているファイルですdefault_libs.clj
。ここにあるデータは最終的に何らかの xml ファイルになりますが、私はまだこれにかなり慣れていないので、今のところ、大量の clojure マップを直接記述しました。
(ns mycad.default-libs)
(def default-symbols {.... })
.clj
したがって、問題は、実際に名前空間にロードせずにファイルから大量のデータをロードするにはどうすればよいかという(ns...)
ことload
ですcompile
。
助けてくれてありがとう