我正在开发一个 java 应用程序,用户通过属性文件输入某些功能。然后在运行时使用应用程序提供的变量值评估这些函数。
这里举一个简单的例子。用户想要计算未来 n 年特定资本分配的投资回报。他应该不仅能输入相关参数,还能输入一个逐年计算回报的函数。
任何人都可以建议或推荐一种简单的脚本语言,以便用户学习曲线不会太陡峭,并且可以使用提供与 java 代码集成的标准库吗?
一个相关的例子也将受到欢迎。
我建议使用 javascript。它很简单,Rhino 库与 java 集成。完整信息可在此处找到:Rhino
你可以看看 Groovy。它可以嵌入到 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 或 Ruby,它们应该足够方便。