Я попробовал служебный метод, предоставленный 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()]));
Однако я всегда получаю попытку вызвать nil, когда код пытается получить доступ к таблице arg (в то время как i ‹ table.getn(arg) делает) - я пробовал другие примеры, и все они приводят к одной и той же ошибке - luaj, похоже, не устанавливает "arg" корректно - даже простой вывод arg[1] не сработает.
table.getn
был удален.arg
не является именем по умолчанию параметров vararg - person hjpotter92   schedule 26.11.2015codeformatter
поставитьlocal arg = {...}
и должно работать. - person hjpotter92   schedule 26.11.2015_G.arg
, стандарт нигде ничего не говорит об этом, поэтому на самом деле нет правильного способа сделать это. просто делайте это так, как вам нравится, и используйте это. часто также есть простоlocal args={...}
в начале файла, но это не работает при загрузке с использованиемrequire
- person nonchip   schedule 29.11.2015