luajava环境的搭建就不写了,网上百度,google下就ok啦。
我是在android平台下运行的项目,好了先看代码
TextView tv=(TextView)findViewById(R.id.hello);
LuaState l=LuaStateFactory.newLuaState();
l.openLibs(); //打开lua库
String content=null;
try {
content=Util.loadLua(getAssets().open("hello.lua")); //读取lua文件
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(content!=null)
{
l.LdoString(content);
//找到函数hello
l.getField(LuaState.LUA_GLOBALSINDEX, "hello");
//调用hello函数 0个参数,1个返回
l.call(0, 1);
//把返回结果负值给result
l.setField(LuaState.LUA_GLOBALSINDEX, "result");
//得到结果
LuaObject lobj=l.getLuaObject("result");
//输出
tv.setText(lobj.toString());
}
hello.lua
function hello()
return 'Hello World my first obj'
end
运行结果