LUA 中table的方法

LUA 中table的方法,第1张

在Lua中,table(表)是主要的数据结构(事实上也仅此一种),数组则是table的一种特殊应用。

                                                                                              ——table的介绍

lua中,有预加载的table库。

     在这个table库中包含了如下函数:

setn

insert

getn

foreachi

maxn

foreach

concat

sort

remove

      要调用它们,使用table.函数名(参数列表)。

demo:

      print(table.maxn({1,2,3}))     --> 获取table的最大长度

      table.sort(table)                    --> 给表table排序

      table.insert(table,"Hi")          --> 给table增加下标为1的"Hi"元素 

      print(table[1])                        --> Hi

      table.remove(table,1)            --> 给table删除下标为1的元素

      print(table[1])                        --> nil

table是Lua中的hashmap(包括其实现方式也是). 由于其包含所有数组的功能, 所以可以认为table是扩展了的数组. Lua没有再额外提供单独的数组类型.

用以下的语句声明一个空的table:

newTable = {}

可以用以下的方式向table中添加值:

newTable[2] = "14"

可以使用字符串形式的key值, 但必须在字符串前后添加双引号("").

newTable["time"] = "April 14"

也可以在首次声明table的同时进行赋值, 参考下面的语句:

newTable = {

[key1] = value1,

table.concat (table [, sep [, i [, j ] ] ])

将元素是string或者number类型的table,每个元素连接起来变成字符串并返回。

可选参数sep,表示连接间隔符,默认为空。

i和j表示元素起始和结束的下标。

table.insert (table, [pos ,] value)

在(数组型)表 table 的 pos 索引位置插入 value,其它元素向后移动到空的地方。pos 的默认值是表的长度加一,即默认是插在表的最后。

table.remove (table [, pos])

适用数组的情况

在表 table 中删除索引为 pos(pos 只能是 number 型)的元素,并返回这个被删除的元素,它后面所有元素的索引值都会减一。pos 的默认值是表的长度,即默认是删除表的最后一个元素。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11853581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存