Lua学习笔记 复杂数据类型 table

这篇博客介绍了Lua语言中数组的使用,包括索引、长度计算以及如何处理nil值。还探讨了自定义索引的陷阱,展示了ipairs和pairs迭代器的不同。此外,讲解了字典的访问方式以及如何添加、删除字典项。最后,讨论了table的插入、移除和排序方法。
-- 数组
a = {1,2,"string",true,nil};
-- 索引从1开始,a[0] 为 nil
-- #a可以获取a的长度。nil不计算在内。
print(#a);--4
-- 遇到nil则代表结束。如:
b = {1,2,nil,"string",true,nil}
print(#b);--2
-- 二维数组同c#
-- 自定义索引(有坑)-----------------------
print("-------------------");
aa = {[0] = 1,2,3,[6] = 5,6,7  }
print(aa[0]);
print(aa[5]);
-- iparis迭代器遍历(从1开始往后遍历,如果自定义的索引和默认索引断了,遍历也就断了)
print("-------------------");
for key,value in ipairs(aa) do
    print(key.."->"..value);
end
-- paris迭代器遍历(先遍历默认索引的,再遍历自定义索引的)
print("-------------------");
for key,value in pairs(aa) do
    print(key.."->"..value);
End

-- 字典---------------------------
dict = {["name"] = "Groyo",["age"] = 18,["ID"] = 510723};

-- 字典的访问1---------
print(dict["name"].."_"..dict["age"].."_"..dict["ID"]);

-- 字典的访问2(这种方式下,键不能是数字)---------
print(dict.name.."_"..dict.age.."_"..dict.ID);
--新增
dict["phoneNum"] = 199;
-- 删除
dict.phoneNum = nil;

-- table的方法----------------------------
t1 = {{name = "Tom",age = 18},{name = "Jack",age = 19}};
t2 = {name = "Rose",age = 15};
t3 = {1,5,9,3,5};
-- 插入
table.insert( t1,t2);
-- 移除(参数1代表要移除的元素的索引。不写默认为最后一位)
table.remove( t1,1 );
-- 排序-- table.sort( tablename, sortfunction )
table.sort( t3 );

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值