一、Lua类型
Lua中的类型只有四种:
1. number
2. string
3. boolean
4. function
根据其他语言后三种类型就不解释了,第一种类型number,既包括整型,也包括浮点型,统一都是number型。
lua用type函数打印类型:
local a = 5
local b = 5.5;
local c = "hello";
local d = true;
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(fun));
function fun()
local a = "hello, world"
end
输出结果:
二、string与number间的转换
lua中的string和number类型间有个强大的功能,如果string类型的值看上去是个number,那么系统就会自动转换成number类型。
local a = "5"
local b = "5.5";
print(type(a))
print(type(b))
print(a + b)
print(type(a + b))
输出结果:
可以看到两个string类型的变量a和b一做加法,系统将他们自动变成了number型。这样看似number型的string和number相加同样会自动转换。
那么如果并不是看上去那样是个number的string类型相加呢,这里也给个例子:
local a = "5"
local b = "w.55";
print(type(a))
print(type(b))
print(a + b)
print(type(a + b))
输出结果:
可以看到这样就会报错了,系统自动识别number真的是很强大,同样这个地方要非常的小心,可能本意并不想转number型,但是系统自动转了。
三、string和number类型的连接功能
Lua中的string类型是通过“..”讲两个string进行连接的:
local a = "5"
local b = ".55";
print(type(a))
print(type(b))
print(a .. b)
print(type(a .. b))
输出结果:
可以看到两个string连成了5.55,类型仍然是string,这里并不会自动转换。同样可以多个number或者string混合连接,这种连接功能只适用于string和number类型间,function和boolean类型都不支持。