基本类型
nil: 只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)
boolean: Lua 把 false 和 nil 看作是”假”,其他的都为”真”
number: 表示双精度类型的实浮点数
string:使用#计算字符串长度,print(#”this is a string”)
userdata: 表示任意存储在变量中的C数据结构
function: 由 C 或 Lua 编写的函数
thread: 表示执行的独立线路,用于执行协同程序
table: 其实是一个”关联数组”, 在 Lua 里表的默认初始索引一般以 1 开始
函数
在lua中,函数是对语句和表达式进行抽象的主要方法,既可以用来处理一些特殊的工作,也可以用来计算一些值
optional_function_scope function function_name( argument1, argument2, argument3…, argumentn)
function_body
return result_params_comma_separated
end
* 函数可变参数数量*
Lua函数可以接受可变数目的参数,和C语言类似在函数参数列表中使用三点(…) 表示函数有可变的参数。
Lua将函数的参数放在一个叫arg的表中,#arg 表示传入参数的个数。
字符串操作
1、string.gsub(mainString,findString,replaceString,num)
在字符串中替换,mainString为要替换的字符串, findString 为被替换的字符,replaceString 要替换的字符,num 替换次数(可以忽略,则全部替换)
2、string.find (str, substr, [init, [end]])
在str字符串中查找substr字符串,从init索引位置开始,到end索引位置结束,返回查找到的位置开始索引和结束索引
3、string.format(…)
返回一个类似printf的格式化字符串
string.format(“the value is:%d”,4)
the value is:4
4、string.char(12,13,114,15)
将整型数据转换成字符并连接,
string.byte(“ABCD”,4)
将字符转换成整形,默认第一个字符
5、string.len()返回字符串长度
6、string.rep(string,n)
返回字符串的n个拷贝