博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lua之Lua数据结构-TTLSA(6)(转) good
阅读量:6704 次
发布时间:2019-06-25

本文共 1929 字,大约阅读时间需要 6 分钟。

一. table

table是唯一的数据结构。table 是 lua 中最重要的数据类型。 table 类似于  中的字典。table 只能通过构造式来创建。其他语言提供的其他数据结构如array、list等等,lua都是通过table来实现的。table非常实用,可以用在不同的情景下。最常用的方式就是把table当成其他语言的数组。
实例1:

说明:

1). 数组不必事先定义大小,可动态增长。
2). 创建包含100个元素的table,每个元素随机赋1-1000之间的值。
3). 可以通过mytable[x]访问任意元素,x表示索引。
4). 索引从1开始。

实例2:

说明:

1). table 中的每项要求是 key = value 的形式。
2). key 只能是字符串, 这里的 a, b, c, d 都是字符串,但是不能加上引号。
3). 通过 key 来访问 table 的值,这时候, a 必须加上引号。

实例3:

说明:

1). 数标从1开始。
2). 省略key,会自动以1开始编号,并跳过设置过的key。

二. table函数

lua提供了许多实用的内建函数来操作table。
2.1 table.getn(table)
返回table中的元素个数。
print(table.getn(tab)) -> 4

2.2 table.insert(table,position,value)

在table中插入一个新的值,位置参数可选的,如果没有指定,会添加table的末尾,否则插入到指定的位置。
table.insert(tab, 2, "hello ttlsa.com")
插入"hello ttlsa.com"到table的第2个元素的位置,并重新索引。

2.3 table.remove(table,position)

从指定table中删除并返回一个元素,如果没有指定position值,则默认删除最后一个元素。
print(table.remove(tab,2)) -> hello ttlsa.com

三. table引用

table不仅可以使用数字索引,也可以用其他值作为索引值。

四. 多维table

在lua中创建多维table非常容易的。可以把多维table看做是table的table。可以通过多个关键字来访问。

五. 遍历table

pairs()函数可以遍历table中的每个元素。

输出:

1 : 10
2 : 11
3 : 12
4 : 13
s : www.ttlsa.com
pairs()函数遍历整个table,即使不知道table长度,并返回索引值和相对应的元素值。

https://www.ttlsa.com/lua/lua-data-structure-ttlsa/

 

转载地址:http://crblo.baihongyu.com/

你可能感兴趣的文章
慎用System.nanoTime()
查看>>
2017 移动端 iOS 年终工作总结-纯干货请自备酒水
查看>>
Android小知识-剖析OkHttp中的任务调度器Dispatcher
查看>>
switch的python实现
查看>>
Hybris UI的Route(路由)实现
查看>>
iOS探索:RunLoop本质、数据结构以及常驻线程实现
查看>>
算法的时间复杂度
查看>>
iOS独立开发者使用Bmob第三方后台服务初探
查看>>
共享适合移动端的“拾色器”插件
查看>>
《Java编程思想》笔记09------异常处理
查看>>
CPU发生异常到生成Crash Log的过程
查看>>
pyqt5中动画的使用
查看>>
Python正则表达式初识(五)
查看>>
[译]用 Java 创造你的第一个区块链之第二部分 —— 交易
查看>>
vuex 源码:如何实现一个简单的 vuex
查看>>
Thymeleaf的基本语法
查看>>
theos的Tweak创建的dylib怎么安装到非越狱机上详解
查看>>
Picasso-源码解析(三)
查看>>
MJExtension
查看>>
Redux:百行代码千行文档
查看>>