我正在开发一个java应用程序,用户通过属性文件输入某些功能。然后在运行时使用应用程序提供的变量值来评估函数。在java中输入用户脚本
这里有个简单的例子。用户想要计算未来n年某一资本分配的投资回报率。他应该能够输入不仅仅是相关的参数,而是一个逐年计算回报的函数。
任何人都可以推荐或推荐一种简单的脚本语言,以便用户学习曲线不会太陡峭,并且提供与Java代码集成的标准库可用吗?
一个相关的例子也会受到欢迎。
我正在开发一个java应用程序,用户通过属性文件输入某些功能。然后在运行时使用应用程序提供的变量值来评估函数。在java中输入用户脚本
这里有个简单的例子。用户想要计算未来n年某一资本分配的投资回报率。他应该能够输入不仅仅是相关的参数,而是一个逐年计算回报的函数。
任何人都可以推荐或推荐一种简单的脚本语言,以便用户学习曲线不会太陡峭,并且提供与Java代码集成的标准库可用吗?
一个相关的例子也会受到欢迎。
我的建议是使用ScriptEngine
和评估Javascript
功能。就这么简单:
public class TestScriptEngine {
private static final String script = "var customFunction = function(parameter) {\n" +
"\treturn parameter*parameter;\n" +
"};\n" +
"\n" +
"println(customFunction(10));\n";
public static void main(String[] args) {
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
// evaluate JavaScript code User's input
try {
engine.eval(script);
} catch (ScriptException e) {
e.printStackTrace();
}
}
}
我会建议使用JavaScript。它非常简单,Rhino库与Java集成。完整的信息可以在这里找到:Rhino
你可以使用JavaScript和Ruby,他们应该是方便。
你可以看看Groovy。它可以嵌入到Java应用程序中,并成为应用程序中脚本编写的有用工具。
感谢每一个答案。 Stackoverflow永远不会失败。 – 2013-02-28 15:54:20