我尝试了 luaj 提供的实用方法来调用带有命令行参数的 lua 文件(这个http://lua-users.org/wiki/SourceCodeFormatter)
Globals globals = JsePlatform.standardGlobals();
String script ="src/codeformatter.lua";
File f = new File(script);
LuaValue chunk = globals.loadfile(f.getCanonicalPath());
List<String> argList = Arrays.asList("--file","test.lua");
JsePlatform.luaMain(chunk, argList.toArray(new String[argList.size()]));
但是,我总是尝试在代码尝试访问 arg 表的地方调用 nil(而 i < table.getn(arg) 做)-我尝试了其他示例,它们都导致相同的错误-luaj 似乎没有设置“arg”表正确 - 即使是简单的打印 arg[1] 也不起作用。