![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
lua笔记
Erick_Lv
菜鸡互啄
展开
-
lua笔记1 基础概念
基础概念Lua的变量默认是全局的,如果想要清除,只需要设置为nil。没有赋值的变量也是nil。注意lua是动态语言,变量不需要声明类型,而且自动类型转换。b = 1print(b)b = nilprint(b)b = "a"print(b)输出:1nilalua的基本数据类型:nil 只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。bool...原创 2019-08-08 23:50:18 · 479 阅读 · 0 评论 -
Lua笔记2 变量、循环和流程控制
变量变量使用前必须声明,lua的变量默认全局的,哪怕该变量在函数中。局部变量使用local进行声明,仅在作用域中有效。函数中声明的变量,在函数调用前是不会起作用的。代码示例:function foo(n) a = 3 * n local b = 5 * nendprint(a)print(b)foo(10)print(a)print(b)输出结果:nil...原创 2019-08-09 00:16:32 · 185 阅读 · 0 评论 -
Lua笔记3 函数和数组
函数这里主要介绍可变参数函数,使用...表示可变参数函数。function add( ... ) local s = 0 for i, v in ipairs{...} do -- {...}表示可变参数表,是局部变量 s = s + v end return sendprint(add(1,2,3,4,5,6,7)) -- 累加求和...原创 2019-08-09 00:43:01 · 1060 阅读 · 0 评论 -
Lua笔记4 闭包、迭代器
迭代器for的泛型部分,最简单的是利用pair进行,比如:for k, v in pairs(t) do print(k, v)end其中k和v是变量列表,而pairs(t)是列表表达式。我们还可以使用迭代函数完成元素的迭代,lua提供了默认的迭代函数ipairs。这里的核心在于理解迭代函数。有无状态迭代器和多状态的迭代器两种,分别给出示例。无状态的迭代器:function su...原创 2019-08-12 23:59:23 · 164 阅读 · 0 评论 -
lua的元表、模块和面向对象
元表lua的元表是表的一个扩展,可以简化表的一些操作。setmetatable关键字是设置元表的核心操作。__index相当于建立索引,为查找表元素提供了方便。Lua 查找一个表元素时的规则,其实就是如下 3 个步骤: (参考自https://blog.csdn.net/xocoder/article/details/9028347)在表中查找,如果找到,返回该元素,找不到则继续判断该...原创 2019-08-13 09:58:54 · 422 阅读 · 0 评论