lua基础
lua是动态类型语言,变量不需要类型定义,只需要为变量赋值
lua有8中基本类型:nil、boolean、number、string、userdata、function、thread和table
nil
nil类型化表示没有任何有效值(类似于null?)
对于全局变量和table,nil有一个删除作用,给全局变量或者table表里的一个变量赋值为nil,就等同于删掉它们。
nil做比较时应该加双引号
number
lua默认为double类型
string
string类型用双引号或者单引号表示,也可以用两个方括号来表示一块字符串
e = [[it's mine! |
在对一个数字字符串上进行算数操作的时候,lua会尝试将这个数字字符串转换成一个数字然后计算,两个字符串连接使用的是..,例如:
print("a" .. "b") --ab |
table
在lua里,table的创建是通过构造表达式来完成,即直接用{}来创建一个表,lua中的表其实是一个关联数组,数组的索引可以使数字或字符串
a = {} |
执行脚本输出结果为
key : value |
在lua中,表的默认初始索引一般从1开始,当有新数据添加时,table的长度会自动增长,获取未初始化的table会返回nil
function
在lua中,函数可以被储存在变量中,也可以通过匿名函数的方式通过参数传递
function testFun(tab,fun) |
thread
在lua中,最主要的现场是协程,拥有自己独立的栈、局部变量和指令指针,可以和其他的协程共享全局变量和其他大部分东西。
线程和协程的区别:线程可以多个同时运行,而协程在任意时刻只能运行一个
userdata
用户自定义数据,可以将C/C++的任意类型的数据存储到lua变量中调用
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hexo!
