lua表

1: lua没有数组,但是表可以代替数组的功能(数组部分与非数组部分);

a.Lua表的数组部分的索引是从开始的, 1, 2, 3 ...称连续的索引;

b.Lua表的连续索引的长度(数组部分);  #表的名字;

--数组部分  索引从1开始(lua特色)
local list_array = {20,10,30,5,6}
--20 10 30 5 6
print(list_array[1],list_array[2],list_array[3],list_array[4],list_array[5]) --返回lua表里面数组部分的长度
--必须要求是连续的
print(#list_array) --5 --增加元素 因为索引不连续 增加失败
list_array[11] = 20
print(#list_array) --5 数组长度还是5 --增加元素成功
list_array[6] = 20
print(#list_array) --6 数组长度为6了

c.Lua表支持key, value模式;

2.遍历表

a.

b.

源码:

--数组部分  索引从1开始(lua特色)
local list_array = {20,10,30,5,6}
--20 10 30 5 6
print(list_array[1],list_array[2],list_array[3],list_array[4],list_array[5]) print("$$$$$$$$$$$$$$$$$")
--遍历lua里面的数组部分的数据
local index = 1
for index = 1,#list_array do
print(list_array[index])
end print("$$$$$$$$$$$$$$$$$") --遍历表里面所有的数据
for k,v in pairs(list_array) do
print(k,v)
end

结果显示

3.表的接口

1: table.insert(table, pos, value):

--数组部分  索引从1开始(lua特色)
local list_array = {20,10,30,5,6}
--20 10 30 5 6
print(list_array[1],list_array[2],list_array[3],list_array[4],list_array[5]) --插入数据
table.insert(list_array,2,8)
for k,v in pairs(list_array) do
print(k,v)
end

在table的数组部分指定位置(pos)插入值为value的一个元素, pos参数可选, 默认为数组部分末尾

2: table.remove(table, pos)

函数删除并返回table数组部分位于pos位置的元素. 其后的元素会被前移. pos参数可选, 默认为table长度, 即从最后一个元素删起

3:  table.sort(table, 比较函数): 对table进行排序

--数组部分  索引从1开始(lua特色)
local list_array = {20,10,30,5,6}
--20 10 30 5 6
print(list_array[1],list_array[2],list_array[3],list_array[4],list_array[5]) print("$$$$$$$$$$$$$$$$$$$$")
--排序
table.sort(list_array)
--遍历所有数据
for k,v in pairs(list_array) do
print(k,v)
end

4: table.getn(table)返回表中元素的个数; -->数组部分   (与#类似)

<4>Lua表的更多相关文章

  1. LUA表克隆方法归纳

    lua表克隆 将lua一个表, 克隆出一份为一个独立的另外一个表. 对于一个module, 如果在require之后,获得的表对象, 不能直接修改, 例如lua缓存此表, 但是多次逻辑执行, 都使用的 ...

  2. Lua表(table)的用法_个人总结

    Lua表(table)的用法_个人总结 1.表的创建及表的介绍 --table 是lua的一种数据结构用来帮助我们创建不同的数据类型.如:数组和字典--lua table 使用关联型数组,你可以用任意 ...

  3. lua表排序

    对于lua的table排序问题,一般的按照value值来排序,使用table.sort( needSortTable , func)即可(可以根据自己的需要重写func,否则会根据默认来:默认的情形之 ...

  4. 对lua表中数据按一定格式处理,循环

    function putStartCard(handCard) function dataDeal(array,a,b,c) cclog("进入datadeal=============== ...

  5. lua表类型

    Lua的表的定义: typedef struct Table { CommonHeader; lu_byte flags; lu_byte lsizenode; /* log2 of size of ...

  6. LUA表与函数的深入理解

    local heroInfo = {} --直接打印 table的名字,就会输出该table的内存地址 print("表地址---------------",heroInfo) - ...

  7. LUA表的引用理解

    --lua中引用类型都是分配在堆上的 --因此,我们在使用LUA的table时,可尽可能的使用表的引用,而不需要拷贝表里的元素 --比如,通过RPC协议传来一个表A,我们想要缓存这个表,只需要保存该表 ...

  8. Lua表(table)的个人总结

    1.表的简介和构造 table是个很强大且神奇的东西,又可以作为数组和字典,又可以当作对象,设置module.它是由数组和哈希表结合的实现的.他的key可以是除nil以外任意类型的值,key为整数时, ...

  9. lua 表

    最近在尝试配置 awesome WM,因此粗略地学习了一下 lua . 在学习过程中,我完全被表表在 lua 中的应用所镇住了. 表在 lua 中真的是无处不在:首先,它可以作为字典和数组来用:此外, ...

随机推荐

  1. word 使用总结

    1.标题: 开始->标题栏 2.插入目录: 引用---->更新目录 3.保持分页:页面布局->分隔符->分页符

  2. 《HTTP - http报文》

    还时推荐一首歌 - 那吾克热<纸飞机> 有没有突然想要个孩子的冲动,哈哈. 读 第三章<HTTP报文内的HTTP信息> 总结 1:用于HTTP协议交互叫做HTTP报文,请求端( ...

  3. Servlet----------Servlet 概述

    1.什么是Servlet Servle t是Java Web 的三大组件之一,它属于动态资源.Servlet 的作用是处理请求,服务器会把接收到时的请求交给 Servlet 来处理,在Servlet中 ...

  4. linux网络设置和虚拟机克隆转移之后网卡找不到

    linux网络设置和虚拟机克隆转移之后Error:No suitable device found:no device found for connection 'System eth0'问题解决   ...

  5. 20180820 SQL 提示Error: String or binary data would be truncated

    Error: String or binary data would be truncated,错误,是因为栏位给出的长度不够,增加初始化长度就可以了. 除了创建表的增加长度情况,还有一种是,SELE ...

  6. spark sql的agg函数,作用:在整体DataFrame不分组聚合

    .agg(expers:column*) 返回dataframe类型 ,同数学计算求值 df.agg(max("age"), avg("salary")) df ...

  7. [js]js的表单验证

    http://uule.iteye.com/blog/2183622 表单验证类 <form class="form" method="post" id= ...

  8. 236A

    #include <stdio.h> #include <string.h> int main() { char str[150]; int arr[35]; memset(s ...

  9. 【Linux】-NO.5.Linux.1.CentOS.1.001-【CentOS7 Foundation Configuration】-

    1.0.0 Summary Tittle:[Linux]-NO.5.Linux.1.CentOS.1.001-[CentOS7 Foundation Configuration]- Style:Lin ...

  10. openshift 调度命令

    oc adm manage-node oc-node07 --schedulable=true  #可调度 oc adm manage-node oc-node07 --schedulable=fal ...