LUA 表结构的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LUA 表结构的使用相关的知识,希望对你有一定的参考价值。

0x00 什么是表
table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数字、字典等。
Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil。
Lua table 是不固定大小的,你可以根据自己需要进行扩容。
Lua也是通过table来解决模块(module)、包(package)和对象(Object)的。

 

0x01 怎么使用构建表

local arr = {‘a‘,‘b‘,‘c‘,‘d‘,‘e‘, ‘f‘}
local  map = {[1]="reacher", [2]="guazi", [3]="jack"}
local data = {1,2,3,4,[‘x‘]=‘reacher‘,[‘y‘]=‘guazi‘}

 

0x02 对表内的数据进行遍历

local arr = {‘a‘,‘b‘,‘c‘,‘d‘,‘e‘, ‘f‘}
local  map = {[1]="reacher", [2]="guazi", [3]="jack"}
local data = {1,2,3,4,[‘x‘]=‘reacher‘,[‘y‘]=‘guazi‘}

0x02 对表内的数据进行遍历
--数组
local arr = {‘a‘,‘b‘,‘c‘,‘d‘,‘e‘, ‘f‘}
for key, value in pairs(arr)
do
	--print(arr[key]);
	print(value);
end

----map
local  map = {[1]="reacher", [2]="guazi", [3]="jack"}
--key代表索引编号, value数组内的值
for key, value in  pairs(map)
do
	print("NO:"..key);
	print(map[key]);
end

----数组和map混合
local data = {1,2,3,4,[‘x‘]=‘reacher‘,[‘y‘]=‘guazi‘}
for  key, value in pairs(data)
do
	print(‘NO:‘..key);
	print(value); --等价print(data[key]);
end

  

 

以上是关于LUA 表结构的使用的主要内容,如果未能解决你的问题,请参考以下文章

如何从 C 结构创建 Lua 表

Lua笔记——2.表Table

[专栏作家]Lua表结构描述和数据版本

玩转Redis-Lua脚本入门到实战-树形结构存储及查询

Lua中的数据结构

lua-设计与实现-8环境与模块