首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

Java调用Lua脚本(LuaJava使用、装配及Linux安装编译)

2013-11-09 
Java调用Lua脚本(LuaJava使用、安装及Linux安装编译)依赖包(附件有下载):/** * 调用Lua脚本 * @author cham

Java调用Lua脚本(LuaJava使用、安装及Linux安装编译)
依赖包(附件有下载):
/** * 调用Lua脚本 * @author chamcon * @date 2013-11-07 15:58:48 */public class LuaUtil {public static List<String> PUBLIC_LUA_FILES = new ArrayList<String>();public static Logger logger = Logger.getLogger(LuaUtil.class);static {//配置公共函数lua文件//PUBLIC_LUA_FILES.add("");}/** * 执行Lua脚本 */public static String execLuaFunc(String lua,String funcName,String value){//依赖库文件要放到java.library.path下logger.debug("java.library.path:"+System.getProperty("java.library.path"));LuaState L = LuaStateFactory.newLuaState();// 加载lua标准库,否则一些lua基本函数无法使用L.openLibs();//加载公共函数文件if(!PUBLIC_LUA_FILES.isEmpty()){for(int i=0;i<PUBLIC_LUA_FILES.size();i++){L.LdoFile(PUBLIC_LUA_FILES.get(i));}}//加载函数串L.LdoString(lua);//调用函数名L.getField(LuaState.LUA_GLOBALSINDEX, funcName);//设置参数L.pushString(value);//调用L.call(1, 1);//设置返回对象L.setField(LuaState.LUA_GLOBALSINDEX, "RESULT");LuaObject lobj = L.getLuaObject("RESULT"); //获取返回值String res = lobj.getString();L.close();if(res == null) return "";return res;}}
本文链接:http://chamcon.iteye.com/blog/1972995
参考:http://www.chinasb.org/archives/2013/06/5115.shtml

热点排行