
Lua
文章平均质量分 92
v_xchen_v
这个作者很懒,什么都没留下…
展开
-
Lua local
全局变量(global variable)在Lua中定义全局变量非常简单,就是定义变量的时候,前面不要加上local 这个神秘的全局变量,其实本质上也是一个table,它把我们创建的全局变量都保存到一个table里 这个table的名字是:_GgName = "globalVar"print(gName) print(_G.gName)print(_G["gName"])原创 2017-10-12 18:07:43 · 5637 阅读 · 0 评论 -
Lua 具名实参(通过table实现可选参数函数)
什么是具名实参具名实参:指具有名称的实参。实现方式将所有实参组织到一个table中,并将这个table作为唯一的实参传给函数。使用具名实参的好处对于参数很多的函数,有时很难记住参数的名字和参数的顺序以及哪些参数是可选的。通过table可以在调用这类函数时可以随意指定参数的顺序,并且可以只传递需要设定的参数。这就是具名实参的好处。具名实参的实现与用法示例函数的参数机制中,最基础的方式是在调用一个函数时原创 2017-09-01 15:58:58 · 5150 阅读 · 0 评论 -
Lua 加载函数require dofile loadfile
加载函数Lua把chunk(Lua把加载的一份外部代码也看作一个chunk)当作匿名函数处理,例如”a=1”.loadstring返回与其等价的function() a = 1 end。 loadfile只是在编译chunk成为自己内部实现的一个匿名函数。dofile会编译并执行,loadfile只编译代码生成中间码并且返回编译后的chunk作为一个函数,但不执行代码。 如果要运行一个文件多次,原创 2017-08-31 09:49:30 · 1747 阅读 · 0 评论 -
Lua C++交互机制
一、Lua与C++的交互机制——Lua堆栈1)交互机制Lua和C++ 的交互机制的基础在于Lua提供了一个虚拟栈,C++ 和Lua之间的所有类型的数据交换都通过这个栈完成 栈中每个元素都能保存任何类型的Lua值(实际上Lua的任何类型的值包括字符串、表等等,最终都是以TValue这种数据结构来保存的) 当在C代码中要获取Lua的一个值的时候,只需要调用Lua API将指定值压入栈中,C再获取栈顶原创 2017-08-16 16:13:46 · 8143 阅读 · 0 评论 -
Lua 模拟面向对象
分析Lua中并不存在类的概念,但是我们可以通过使用table和元表元方法来模拟类和类的实例的特性和行为 基础:Lua的table可以存放各个类型的值,也可以存放函数(函数在Lua中是第一类值与其他值一样使用,可以被存放在变量中,也可以存放在表中,可以作为函数的参数,还可以作为函数的返回值),那么,我们就可以使用table来生成类的原型,存放类的成员值和成员变量。 Lua的元表提供了类似C++ 中原创 2017-08-21 21:05:31 · 1400 阅读 · 0 评论 -
Lua 元表 元方法
元表元表,就是一个普通的Lua table,它用于初始化的设定值在特定操作下的行为。对于值的每个操作,Lua 都将其关联上一个对应的索引,当 Lua 需要对一个值发起这些操作中的一个时, 它会去检查值的元表里是否有对应索引。如果有,则索引对应的值(元方法)将控制 Lua 怎样去执行这个操作。例如,在非数字值做加法的时候,Lua本身没有内置的处理方法,那么就会检查该值元表的__add域下的函数,如果能原创 2017-08-22 10:51:41 · 632 阅读 · 0 评论 -
Lua开源库 lfs的介绍与使用
Lua lfs库这个库可以实现平台无关(Linux和Windows通用)的文件系统访问 官网地址 Github项目地址如何配置:5.1以上的lua已经包含了lfs库,路径是Lua5.1\clibs\lfs.dll,我们无需配置直接require “lfs”使用即可。提供的功能:lfs的开发提供了功能的介绍:官方手册 下面给出精简了内容的中文版(方便不喜欢看英文版的同学): - lfs.a原创 2017-10-23 18:57:55 · 25369 阅读 · 0 评论