【发布时间】:2012-02-04 17:36:02
【问题描述】:
如何从我的 java 应用程序启动 Clojure REPL 并提供一些“预定义变量”(我是 Clojure 新手,我想有一个更好的术语)?事实上,我已经尝试通过巧合让它工作......我从clojure.main 开始,并添加了对 RT.var() 的额外调用。这是正确的做法吗?
import clojure.lang.Symbol;
import clojure.lang.Var;
import clojure.lang.RT;
public class MyClojure {
final static private Symbol CLOJURE_MAIN = Symbol.intern("clojure.main");
final static private Var REQUIRE = RT.var("clojure.core", "require");
final static private Var MAIN = RT.var("clojure.main", "main");
// Provide some context, this is my custimisation...
@SuppressWarnings("unused")
final static private Var Test = RT.var("testme", "myvar", "This is the initial value");
public static void main(String[] args) throws Exception {
REQUIRE.invoke(CLOJURE_MAIN);
MAIN.applyTo(RT.seq(args));
}
}
编辑:我的应用程序不是 Web 应用程序。它是一个独立的桌面应用程序,基本上显示/编辑 pojo 数据模型。我现在想添加支持以将数据模型从正在运行的应用程序公开到 clojure repl。然后,我将能够通过原始应用程序和 repl 修改/检查数据模型。
【问题讨论】:
标签: clojure