Lua 基础数据类型

2020-06-30  本文已影响0人  游戏创作者

Lua有8种基础数据类型:nil, boolean, number, string, function, userdata, thread, and table.

1. nil

nil类型有一个值,nil,它的主要属性是不同于任何其他值;它通常表示缺少有用的值。

2. boolean

布尔类型有两个值,false和true。nil和false都使条件为false,它们统称为false values。任何其他值都使条件为真。

3. number

number有两个子类型:integer 和 float
标准Lua用32位integers 和双进度64位floats

4. string

string表示不可变的字节序列

5. function

Lua可以调用(和操作)用Lua编写的函数和用C编写的函数

6. userdata

userdata值表示一块原始内存,
userdata的值只能通过C的API创建和修改,不能通过Lua创建和修改,

userdata有两种:full userdata,light userdata

full userdata 是一个由Lua管理内存块的对象
light userdata 是一个简单的C指针

7. thread

thread代表独立的执行线程,它被用来实现协程。Lua线程与操作系统线程无关。

8. table

table是Lua中唯一的数据结构机制;它们可以用来表示普通的数组(arrays)、列表(lists)、符号表(symbol tables)、集合(sets)、记录(records)、图(graphs)、树(trees)等。
table可以包含所有类型的值(nil除外),还可以使用除nil和NaN之外的任何Lua值作为table的索引。
table也可以携带方法。
为了避免歧义,任何作为键的浮点数等于一个整数都会被转换为该整数

Tables, functions, threads, and (full) userdata 的值都是对象:变量实际上不包含这些值,只是对它们的引用

详细请参考官方文档

上一篇 下一篇

猜你喜欢

热点阅读