Luaj 学习心得:1 基础调用和部分 api
Luaj简历
luaj是一个在java环境中执行lua的开源库 -相对轻量,且易于使用,其中也可以相关函数库便于使用,而且可自己扩展函数库,非常方便
入门
官方文档:http://www.luaj.org/luaj/3.0/README.html#1 若有不足,或者不对的地方还请指教
1// 导入库2import org.luaj.vm2.*;3import org.luaj.vm2.lib.jse.*;4
- 以load方式 输出 hello world load支持的参数类型:String, Reader, InputStream, byte[]
1// 导入库23Globals globals = JsePlatform.standardGlobals();4LuaValue chunk = globals.load("print ('hello, world')");5chunk.call();67//load在Glbals中的方法及参数8public LuaValue load(String script, String chunkname)9public LuaValue load(byte[] script, String chunkname)10public LuaValue load(String script)11public LuaValue load(String script, String chunkname, LuaTable environment)12public LuaValue load(Reader reader, String chunkname)13public LuaValue load(Reader reader, String chunkname, LuaTable environment)14public LuaValue load(InputStream is, String chunkname, String mode, LuaValue environment)15
- 加载文件 调用loadfile
1LuaValue chunk = globals.loadfile("lua/hello.lua");2
Luaj API
没写完
1call(); // 调用无参函数2call(LuaValue arg1); // 调用1个参数函数3invoke(Varargs arg); // 调用无参函数45// 例子6lua中的例子:7function main()8 print('hello, world')9end10java中11LuaValue chunk = globals.loadfile("lua/hello.lua");12chunk.get('main').call()13// 可以调用参数14
get(int index); // 通过int参数从表单中获取值 get(LuaValue key); // 通过LuaValue参数从表单中获取值 rawget(int index); // 通过int参数获取值 valueOf(int i); // 把int类型参数转换LuaValue valueOf(String s); // 把String类型参数转换LuaValue toint(); // 转换为int,否则为0; tojstring(); // 转换为String, 判断LuaValue类型
1public boolean isboolean()2 public boolean isclosure()3 public boolean isfunction()4 public boolean isint()5 public boolean isnil()6 public boolean isnumber()7 public boolean isstring()8 public boolean istable()9 public boolean isuserdata()10 public boolean isuserdata(Class c)11
NIL; // null NONE; // 没有值的 Varargs 实例
还没写完