lua基础学习笔记
lua基础学习中零星地知识点
学习地址: lua在线学习
- 基本数据类型 nil,boolean,number,string,userdata,function,thread,table
- 除了false和nil为假,其他都为真,Lua认为0和空字符串为真
- 字符串可以用单引号或双引号,最好统一一下,转义请使用\
- \ddd三个数字可以表示字母 \097表示字母 a
- 使用…进行字符串连接,使用[[…]]表示多行字符串,不解释转义
- 全局变量不需要声明,直接赋值就行,赋值为nil删除全局变量
- lua会自动在string与number之间自动进行类型转换,如print(“10”+2)
- 使用tonumber和tostring进行类型转换 如print(tostring(10) == “10”)
- 函数是第一类型(和其他变量相同),函数可以存储在变量中,可以作为函数参数,也可以作为函数的返回值
- ==和~=比较两个值,如果两个值类型不同,Lua认为两者不同;nil只和自己相等。Lua通用引用比较tables,userdata,functions
- 如果x为false或者nil则给x赋初始值v x = x or v
- 表table索引从1开始 例如days = {“Sunday”,”Monday”,”Tuesday”} days[1]是Sunday
- table中混合使用列表风格与record风格 例如 {x=10, y=45; “one”, “two”, “three”}
- 对多个变量同时赋值 a, b = 10, 2*x
- 交换变量的值 x, y = y, x
- 使用local创建局部变量,可以使用do…end限制语句块范围
- 当函数只有一个参数并且这个参数是字符串或者表构造时,()可以省略,例如 print “Hello World!”
- 函数多返回值
s,e=string.find(“Hello Lua World”,”Lua”)
print(s,e) - lua会自动调整参数个数与返回值个数,以适应当前调用环境