类型
基础类型:nil空、boolean布尔、 number数字、 string字符串、 userdata自定义类型、 function函数、 thread线程、 table表
可以通过print打印出变量的类型
任何变量都可以包含任何类型的值
- nil 所有变量在未赋值前全是为nil 赋值为nil等于将其数据删除。
- boolean :false true 在lua中不仅是这两种表示方式,在lua中将值false 和nil视作为假将其他所有值 视为真。包括数字0和空字符串也都视为真。
- number 表示实数 使用双精度64位来表示一个整数就不会出现四舍五入的错误。
- string 字符串 lua中的字符串也是不可变的值,lua中替换字符串的函数 string.gsub(a,“old”,“new”)字符串初始化可以使用 “ ” 或者‘ ’ 转义字符一般跟c#类似,具体查表lua中可以通过数字指定字符 使用<ddd>可以把ddd数字按照Ascii码 转成对应的字符。
- 还可以使用=号 代替转义的作用,把后面的字符当做字符处理,而不是当做lua的保留词
如dic[a[i]] 忽略内嵌的[] =》 dic[a==[i]==]
字符串操作
感觉有点像MarkDown
在lua中 数字字符串可以直接和数字相加 示例:“10”+1 =11
在lua中字符串拼接单独使用… 示例 “10”…1 =>101 10 …1 =>101
如果…拼接符前面直接是一个数字 那么要在数字与拼接符之间 打上一个空格 10 … 1
测试:
strAppend="10"..1
print(strAppend)
strAppend=10 ..1
print(strAppend)
strAppend=10 .. 1
print(strAppend)
strAppend=10+1
print(strAppend)
strAppend="10"+1
print(strAppend)
strAppend="10"+"1"
print(strAppend)
---debug结果:
101
101
101
11
11
11
使用ToNumber函数 将字符串转成实数
strAppend="10"+"1"..""
print(strAppend)
print(type(strAppend))
strAppend=tonumber(strAppend)
print(strAppend)
print(type(strAppend))
结果
11
string
11
使用tostring把数字转换成字符串
numberStr=tostring(10)
print(numberStr..":"..type(numberStr))
使用#可以获取到该字符串的长度。仅在Print中有用—使用#在Print函数中输出字符串的长度
使用string.len获取字符串长度
getstrlen=string.len(numberStr)
print("获取字符串的长度并拿到值 "..getstrlen)