LuaJ - 用Java创建Lua函数

时间:2016-01-22 11:38:41

标签: java lua luaj

有没有办法在Java中创建Lua函数并将其传递给Lua以将其分配给变量?

例如:

  • 在我的Java课程中:

    private class doSomething extends ZeroArgFunction {
        @Override
        public LuaValue call() {
            return "function myFunction() print ('Hello from the other side!'); end" //it is just an example
        }
    }
    
  • 在我的Lua脚本中:

    myVar = myHandler.doSomething();
    myVar();
    

在这种情况下,输出将是:“来自另一方的你好!”

1 个答案:

答案 0 :(得分:1)

尝试使用Globals.load()从脚本String构造函数,并使用LuaValue.set()在Globals中设置值:

function letBetter(){
    return $this->getServiceLocator()->get(FooService::class);
}