2013-02-28 90 views
0

我正在开发一个java应用程序,用户通过属性文件输入某些功能。然后在运行时使用应用程序提供的变量值来评估函数。在java中输入用户脚本

这里有个简单的例子。用户想要计算未来n年某一资本分配的投资回报率。他应该能够输入不仅仅是相关的参数,而是一个逐年计算回报的函数。

任何人都可以推荐或推荐一种简单的脚本语言,以便用户学习曲线不会太陡峭,并且提供与Java代码集成的标准库可用吗?

一个相关的例子也会受到欢迎。

+0

感谢每一个答案。 Stackoverflow永远不会失败。 – 2013-02-28 15:54:20

回答

1

我的建议是使用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(); 
     } 
    } 

} 
1

我会建议使用JavaScript。它非常简单,Rhino库与Java集成。完整的信息可以在这里找到:Rhino

0

你可以使用JavaScript和Ruby,他们应该是方便。