table(表)

简介: Lua中的table是通过构造表达式如`{}`创建的,可直接初始化数据。它是一种关联数组,支持数字和字符串索引。在示例中,展示了如何通过键值对存储数据、动态增加表长度以及默认从索引1开始。在遍历表时,`pairs`函数用于输出所有键值对。在最后一个例子中,table的长度会随数据添加自动增长,不存在的键值对应于`nil`。

table(表)

在 Lua 里,table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。也可以在表里添加一些数据,直接初始化表:

实例
-- 创建一个空的 table
local tbl1 = {}

-- 直接初始表
local tbl2 = {"apple", "pear", "orange", "grape"}
Lua 中的表(table)其实是一个"关联数组"(associative arrays),数组的索引可以是数字或者是字符串。

实例
-- table_test.lua 脚本文件
a = {}
a["key"] = "value"
key = 10
a[key] = 22
a[key] = a[key] + 11
for k, v in pairs(a) do
print(k .. " : " .. v)
end
脚本执行结果为:

$ lua table_test.lua
key : value
10 : 33
不同于其他语言的数组把 0 作为数组的初始索引,在 Lua 里表的默认初始索引一般以 1 开始。

实例
-- table_test2.lua 脚本文件
local tbl = {"apple", "pear", "orange", "grape"}
for key, val in pairs(tbl) do
print("Key", key)
end
脚本执行结果为:

$ lua table_test2.lua
Key 1
Key 2
Key 3
Key 4
table 不会固定长度大小,有新数据添加时 table 长度会自动增长,没初始的 table 都是 nil。

实例
-- table_test3.lua 脚本文件
a3 = {}
for i = 1, 10 do
a3[i] = i
end
a3["key"] = "val"
print(a3["key"])
print(a3["none"])
脚本执行结果为:

$ lua table_test3.lua
val
nil

相关文章
|
1天前
|
索引
table(表)
在 Lua 中,table 是通过构造表达式如 `{}` 创建的,可直接初始化数据。表是关联数组,支持数字和字符串索引。示例展示了初始化、赋值和遍历操作。Lua 表默认从索引 1 开始,长度可动态增长,未定义的位置默认为 nil。
|
8月前
|
数据库 OceanBase
使用 `INSERT INTO table_name SELECT * FROM table_name` 这种方式
使用 `INSERT INTO table_name SELECT * FROM table_name` 这种方式
52 1
|
SQL 存储 关系型数据库
PostgreSQL 动态表复制(CREATE TABLE AS & CREATE TABLE LIKE)
PostgreSQL 动态表复制(CREATE TABLE AS & CREATE TABLE LIKE)
|
JavaScript 前端开发 数据可视化
vxe-table
vxe-table
628 0
vxe-table
|
Java 索引
Table(表)
Table(表)
76 0
瞬表——Ephemeron Table
瞬表——Ephemeron Table
123 0
Stones on the Table
Stones on the Table
80 0
Stones on the Table
|
关系型数据库 MySQL 数据库
MySQL创建数据库 easyShopping,包括area表、goods表、customer表、orders表、ordersdetall表、test表
MySQL创建数据库 easyShopping,包括area表、goods表、customer表、orders表、ordersdetall表、test表
873 0
MySQL创建数据库 easyShopping,包括area表、goods表、customer表、orders表、ordersdetall表、test表
|
Web App开发 前端开发 搜索推荐
关于table的一些记录
HTML有10个表格相关标签
关于table的一些记录
|
Java 关系型数据库 MySQL
添加和删除数据表(table)|学习笔记
快速学习添加和删除数据表(table)
145 0