Lua 基础数据类型
Lua有8种基础数据类型: nil, boolean, number, string, function, userdata, thread, and table.
nil类型有一个值,nil,它的主要属性是不同于任何其他值;它通常表示缺少有用的值。
布尔类型有两个值,false和true。nil和false都使条件为false,它们统称为false values。任何其他值都使条件为真。
number有两个子类型:integer 和 float
标准Lua用32位integers 和双进度64位floats
string表示不可变的字节序列
Lua可以调用(和操作)用Lua编写的函数和用C编写的函数
userdata值表示一块原始内存,
userdata的值只能通过C的API创建和修改,不能通过Lua创建和修改,
userdata有两种:full userdata,light userdata
full userdata 是一个由Lua管理内存块的对象
light userdata 是一个简单的C指针
thread代表独立的执行线程,它被用来实现协程。Lua线程与操作系统线程无关。
table是Lua中唯一的数据结构机制;它们可以用来表示普通的数组(arrays)、列表(lists)、符号表(symbol tables)、集合(sets)、记录(records)、图(graphs)、树(trees)等。
table可以包含所有类型的值(nil除外),还可以使用除nil和NaN之外的任何Lua值作为table的索引。
table也可以携带方法。
为了避免歧义,任何作为键的浮点数等于一个整数都会被转换为该整数
详细请参考 官方文档 。
2023-12-06 广告