上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.3 数据类型
Lua语言提供六种基本的数据类型:
■ nil :表示不存在的空对象或无效值,类似Python的None; ■ boolean :布尔类型,取值为true或false;
■ number :数字类型,不区分整数和浮点数;注
■ string :字符串类型,参见3.4节;
■ function :函数类型,参见3.8节;
■ table :表类型,非常灵活的数据结构,参见3.9节。
注:这是Lua 5.1和5.2的语法,Lua 5.3引入了整数类型,并支持了位运算。
使用函数type()可以测试变量的类型,它以字符串的形式返回类型的名字,例如:
print(type(nil)) -- nil print(type(true)) -- boolean print(type(42)) -- number print(type(2.718)) -- number print(type("metroid")) -- string print(type(print)) -- function(print是Lua标准库里的一个函数) print(type(table)) -- table(table是Lua标准库里的一个表)
虽然变量是有类型的,但因为Lua是动态语言,所以声明变量并不需要显式地写出类型,变量也可以存储任意类型的值:
x = 2018 -- 变量的类型是number x = "lua" -- 变量的类型变为string x = nil -- 变量的类型变为nil