<4>Lua表
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表的更多相关文章
- LUA表克隆方法归纳
lua表克隆 将lua一个表, 克隆出一份为一个独立的另外一个表. 对于一个module, 如果在require之后,获得的表对象, 不能直接修改, 例如lua缓存此表, 但是多次逻辑执行, 都使用的 ...
- Lua表(table)的用法_个人总结
Lua表(table)的用法_个人总结 1.表的创建及表的介绍 --table 是lua的一种数据结构用来帮助我们创建不同的数据类型.如:数组和字典--lua table 使用关联型数组,你可以用任意 ...
- lua表排序
对于lua的table排序问题,一般的按照value值来排序,使用table.sort( needSortTable , func)即可(可以根据自己的需要重写func,否则会根据默认来:默认的情形之 ...
- 对lua表中数据按一定格式处理,循环
function putStartCard(handCard) function dataDeal(array,a,b,c) cclog("进入datadeal=============== ...
- lua表类型
Lua的表的定义: typedef struct Table { CommonHeader; lu_byte flags; lu_byte lsizenode; /* log2 of size of ...
- LUA表与函数的深入理解
local heroInfo = {} --直接打印 table的名字,就会输出该table的内存地址 print("表地址---------------",heroInfo) - ...
- LUA表的引用理解
--lua中引用类型都是分配在堆上的 --因此,我们在使用LUA的table时,可尽可能的使用表的引用,而不需要拷贝表里的元素 --比如,通过RPC协议传来一个表A,我们想要缓存这个表,只需要保存该表 ...
- Lua表(table)的个人总结
1.表的简介和构造 table是个很强大且神奇的东西,又可以作为数组和字典,又可以当作对象,设置module.它是由数组和哈希表结合的实现的.他的key可以是除nil以外任意类型的值,key为整数时, ...
- lua 表
最近在尝试配置 awesome WM,因此粗略地学习了一下 lua . 在学习过程中,我完全被表表在 lua 中的应用所镇住了. 表在 lua 中真的是无处不在:首先,它可以作为字典和数组来用:此外, ...
随机推荐
- word 使用总结
1.标题: 开始->标题栏 2.插入目录: 引用---->更新目录 3.保持分页:页面布局->分隔符->分页符
- 《HTTP - http报文》
还时推荐一首歌 - 那吾克热<纸飞机> 有没有突然想要个孩子的冲动,哈哈. 读 第三章<HTTP报文内的HTTP信息> 总结 1:用于HTTP协议交互叫做HTTP报文,请求端( ...
- Servlet----------Servlet 概述
1.什么是Servlet Servle t是Java Web 的三大组件之一,它属于动态资源.Servlet 的作用是处理请求,服务器会把接收到时的请求交给 Servlet 来处理,在Servlet中 ...
- linux网络设置和虚拟机克隆转移之后网卡找不到
linux网络设置和虚拟机克隆转移之后Error:No suitable device found:no device found for connection 'System eth0'问题解决 ...
- 20180820 SQL 提示Error: String or binary data would be truncated
Error: String or binary data would be truncated,错误,是因为栏位给出的长度不够,增加初始化长度就可以了. 除了创建表的增加长度情况,还有一种是,SELE ...
- spark sql的agg函数,作用:在整体DataFrame不分组聚合
.agg(expers:column*) 返回dataframe类型 ,同数学计算求值 df.agg(max("age"), avg("salary")) df ...
- [js]js的表单验证
http://uule.iteye.com/blog/2183622 表单验证类 <form class="form" method="post" id= ...
- 236A
#include <stdio.h> #include <string.h> int main() { char str[150]; int arr[35]; memset(s ...
- 【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 ...
- openshift 调度命令
oc adm manage-node oc-node07 --schedulable=true #可调度 oc adm manage-node oc-node07 --schedulable=fal ...