我想从另一个.clj文件中加载和/或编译.clj文件。 我这样做是因为我想加载的文件只包含一堆地图,我打算最终用xml文件替换这些文件。我可以只是:use
该文件,它会工作,但我试图通过加载外部一堆数据的练习。无法加载和编译外部clojure文件
通过围绕REPL一些随机的黑客攻击(通过emacs的等),我能(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
数据的来源?
感谢所有帮助