![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
lua脚本
lua脚本
yaoshengting
这个作者很懒,什么都没留下…
展开
-
Lua 面向对象
我们知道,对象由属性和方法组成。LUA中最基本的结构是table,所以需要用table来描述对象的属性。lua中的function可以用来表示方法。那么LUA中的类可以通过table + function模拟出来。至于继承,可以通过metetable模拟出来(不推荐用,只模拟最基本的对象大部分够用了)。Lua中的表不仅在某种意义上是一种对象。像对象一样,表也有状态(成员变量); 也有与对象的值独立的本性,特别是拥有两个不同值的对象(table)代表两个不同的对象; 一个对象在不同的时候也原创 2020-06-24 15:33:01 · 232 阅读 · 0 评论 -
Lua中self标识
在lua中,表拥有一个标识:self。self类似于this指针,大多数面向对象语言都隐藏了这个机制,在编码时不需要显示的声明这个参数,就可以在方法内使用this(例如C++和C#)。 在lua中,提供了冒号操作符来隐藏这个参数冒号的作用有两个:1、对于方法定义来说,会增加一个额外的隐藏形参(self);2、对于方法调用来说,会增加一个额外的实参(表自身)local t = {a = 2 , b = 1}--使用:自定义函数function t:add()...原创 2020-06-24 15:03:58 · 1526 阅读 · 0 评论 -
Lua 元表(Metatable)
Lua 提供了元表(Metatable),允许我们改变table的行为,每个行为关联了对应的元方法,如__index,__newindex,__add,__sub等。注意:元方法是两个_,即__,不是一个_ 。两个很重要的函数来处理元表:setmetatable(table,metatable):对指定table设置元表(metatable),如果元表(metatable)中存在__metatable键值,setmetatable会失败 。 getmetatable(table):返回对象..原创 2020-06-23 19:14:34 · 289 阅读 · 0 评论 -
Lua中的select函数
Lua中用 ... 表示函数的可变参数,比如--此处的...表示可变参数function fun(...) --此处的{...}表示将可变参数初始化成数组 for i in pairs({...}) do print(i) endendselect(n, ...)--数字n表示起点,select(n, ...)返回从起点n到结束的可变参数例如:n=3,... 是 0,1,2,3,4,5时select(n, ...) 就表示...中从第3个到最后一个的多个数:.原创 2020-06-19 17:03:19 · 719 阅读 · 0 评论