Lua 是动态类型语言,变量不需要类型定义
8中类型如下 , userdata
print(type"Hello World") --string
print(type(10)) --number
print(type(print)) -- function
print(type(type(type))) -- string
print(type(true)) -- boolean
print(type(nil)) -- nil
print(type(type(X))) -- string
(1)
对于 boolean 类型:两个值 false和true,在Lua中除了 false和nil为假,其他都为真,即 0和空字符串也为真
(2)Numbers 不区分整型,浮点型
(3) Lua会自动在string和numbers之间自动进行类型转换,当一个字符串使用算术操作时, string会被转换成数字
print("10" + 1) 结果为 11
print("hello" + 1) 错误
尽管字符串和数字可以自动转换,但是 10 == "10" 永远错误
将string转成数字可以使用函数如下:
line = io.read()
n = tonumber(line)
if n == nil then
print("error")
else
print(n)
end
//如果输入的是数字字符串如“143243”则能转换为数字,如果不是如(“dfdg”)则 n = nil