这里是从tolua的案例开始学习的。
tolua的第一的案例就是Hello World。代码很简单。tolua的使用分为三步:
1、实例化一个lua虚拟机,这里就是new一个LuaState对象,通过Start()方法启动虚拟机。启动方法,设置了一系列的属性值。这里的LuaState就相当于LuaInterface中的Lua类,只不过要复杂很多。
2、使用DoString方法执行lua代码片段
3、对lua虚拟机栈的判空,具体对应的就是CheckTop方法。
4、析构虚拟机
这是一个简单的使用tolua框架的过程。
第二个案例是讲解的DoFile方法和Require方法的异同。这两个方法都是执行的同一个lua文件,执行结果也是一样的。唯一的不同点在于加载lua脚本是,使用的路径(名字),如下图:
DoFile方法加了“.lua”后缀,Require方法则没有加。而且,DoFile()方法可以反复执行,但是,Require方法只能执行一次。
DoFile方法在加载文件的时候,有一步FildFile()的方法,该方法会检测参数是否是以“.lua”结尾的,然后去掉后缀,最终会尝试将获取到的文件名添加进一个完整的路径中判断该路径是否存在,存在则返回该路径。路径如下: