
Lua,学习笔记
UTD
这个作者很懒,什么都没留下…
展开
-
Lua学习笔记1-全局变量
在默认情况下,变量总是认为是全局的。全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil。> print(b)nil> b=10> print(b)10> 如果你想删除一个全局变量,只需要将变量赋值为nil。b = nilprint(b) --> nil这样变量b就好像从没被使用过一样转载 2017-09-27 16:47:48 · 327 阅读 · 0 评论 -
Lua学习笔记9-函数知识总结
原文链接:http://www.jb51.net/article/55805.htm前言Lua中的函数和C++中的函数的含义是一致的,Lua中的函数格式如下:function MyFunc(param) -- Do somethingend在调用函数时,也需要将对应的参数放在一对圆括号中,即使调用函数时没有参数,也必须写出一对空括号。对于这个规则只有一种特殊的例外情转载 2017-10-14 17:03:19 · 315 阅读 · 0 评论 -
Lua学习笔记8-迭代器
泛型for迭代器泛型for迭代器会在自己内部保存迭代函数,它会保存三个值:迭代函数、状态常量、控制变量。Lua中默认的迭代函数为ipairs下面我们看看范性for的执行过程:首先,初始化,计算in后面表达式的值,表达式应该返回范性for需要的三个值:迭代函数、状态常量、控制变量;与多值赋值一样,如果表达式返回的结果个数不足三个会自动用nil补足,多出部分会被忽略。第二,将状原创 2017-10-14 10:53:03 · 262 阅读 · 0 评论 -
Lua学习笔记7-table的长度获取
table中长度获取可以使用#来实现,但如果table中有nil就会出现一些奇怪的现象,例如:local tab ={ 1, nil,}print(#tab)输出结果为:1local tab ={ 1, nil, 2, nil}print(#tab)同样输出1但是继续添加后local tab ={ 1,原创 2017-10-12 10:36:45 · 1254 阅读 · 0 评论 -
Lua学习笔记6-迭代函数ipairs和pairs
iparis和pairs都是Lua中的迭代函数,用于在循环中的数组迭代。ipairs和pairs之间是有区别的,ipairs在遇到第一个值为nil的元素时就会停止迭代;但是pairs是会一直迭代,直到数组的元素全部被遍历一遍。local tabFiles = { [3] = "test2", [6] = "test3", [4] = "test1" } prin原创 2017-10-11 16:18:02 · 464 阅读 · 0 评论 -
Lua学习笔记5-循环
1.while循环语法while(condition)do statementsend2.for循环数值for循环for i=exp1,exp2,exp3 do endi从exp1变化到exp2,每次以exp3递增,exp3可以缺省,缺省值为1。泛型for循环类似于Java中的foreach,通过迭代器原创 2017-10-11 16:09:41 · 301 阅读 · 0 评论 -
Lua学习笔记4-赋值语句
赋值语句“=”是用来改变变量的值和改变表域的最基本的方法。Lua可以同时对多个变量来赋值,x, y = y, x --x,y做交换当变量和值的个数不等时,a.变量个数>值的个数 按变量个数补足nilb.变量个数多值赋值常用来交换变量,或将函数调用返回给变量:a, b = f()f()返回两个值,分别赋值给a,b。原创 2017-10-11 15:41:49 · 299 阅读 · 0 评论 -
Lua学习笔记3-局部变量
Lua的变量声明默认是全局的,但是经常使用全局的变量会有以下的缺点:1.可能会出现命名的冲突;2.访问全局变量的速度比局部变量的速度慢。所以在Lua中使用更多的是局部变量,使用关键字local。a = 5local b = 5function Add() c = a + 1 local d = b + 1endAdd()print(a, b, c, d)结果为原创 2017-10-11 15:33:22 · 481 阅读 · 0 评论 -
Lua学习笔记2-数据类型
数据类型描述nil这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。boolean包含两个值:false和true。number表示双精度类型的实浮点数string字符串由一对双引号或单引号来表示function由 C 或 Lua 编写的函数userdata表示任意原创 2017-10-11 13:53:35 · 352 阅读 · 0 评论 -
Lua学习笔记10-元表与元方法
原文链接:http://www.jellythink.com/archives/511前言元表对应的英文是metatable,元方法是metamethod。我们都知道,在C++中,两个类是无法直接相加的,但是,如果你重载了“+”符号,就可以进行类的加法运算。在Lua中也有这个道理,两个table类型的变量,你是无法直接进行“+”操作的,如果你定义了一个指定的函数,就可以进行了。转载 2017-10-14 17:18:02 · 666 阅读 · 0 评论