变量类型:String,number,boolean,functions,nil,userdata,thread,table
boolean:除了false和nil其余为真
String:字符串不可以修改,lua为8个字节,string.gsub(a,x,x)替换字符;单引号和双引号都可以,但是要避免嵌套使用\转义。
可以在字符串中使用\ddd表示字母,ddd为3位十进制数字
[[....]]可以用来表示字符串,包含多行
Lua 在运算时会自动在string和numbers中进行类型转换,当字符串使用算术操作符时,转变为数字
单行注释:--
多行注释:--[[ --]]
..为字符串连接符,在数字后面时加上空格,数字被转为字符串。
10=="10"是错的
可以使用tonumber转换string,反之tostring
functions是第一类值,可以存储在变量中,作为参数
userdata:使用应用程序或使用C实现的库创建的新类型
lua通过引用比较table,userdata,functions,两者为同一对象是相等
判断相等和不等:==和~=
a and b:如果a=false 返回a,否则b
a or b:相反
and的优先级比or高
C语言中的三元运算符:a?b:c
除了..h和^其他运算符都是左连接
lua:(a and b) or c