Lua语法详解之表(用表表示,数组,数组遍历(一维,二维),自定义索引)

ps:lua中没有数组,字典这种概念,只不过是通过表展示这些概念的特征。
(一)数组

--数组
--lua中索引从1开始
a={1,3,4,5,7,9,10}
c={1,"13",true,5,nil}
d={nil,5,7}
e={5,nil,7}
f={nil}
g={1,3,nil,4,"13",true,nil}
print(a[1])--1
print(c[3])--true
--获取数组长度,注意当为nil结尾时,nil会被忽略,不占长度,当表中有nil
--元素的时候,会影响表中实际长度的获取。
print(#a)--7
print(#c)--4,在打印长度的时候最后一个空被忽略了
print(#d)--3,开头的空没有被忽略
print(#e)--3,中间的空也没有被忽略
print(#f)--0,空被忽略了
print(#g)--2,nil后面的被忽略了,玄学啊……

(二)数组遍历

--数组的遍历(在数组每个元素都不为空的情况下,数组长度用#)
a={1,"13",true}
for i=1,#a do
	print(a[i])--
end--1,13,true

(三)二维数组

--二维数组
a={{1},{"1"},{true}}
a={{1},{13},{4}}
a={{1,3},{5,7,8},{9,"1","13",true}}
print(a[1][1])--1
print(a[3][3])--13

(四)二维数组的遍历

a={{1,3},{5,7,8},{9,"1","13",true}}
for i=1,#a do
	b=a[i]
	for j=1,#b do
		print(b[j])
	end
end--1,3,5,7,8,9,"1","13",true

(五)自定义索引
一般不建议用数字作为自定一索引,因为有坑

--自定义索引
a={[0]=1,[1]=8,["1"]=8,[-1]=9,["13"]=13,[true]=7,1,13,14}
print(a[0])--1
print(a["13"])--13,以字符串作为索引
print(a[-1])--9,以-1作为索引,建议实际开发时不要这么用,太反人类了……
print(a[true])--7
print(#a)--1
print(a[0])--1
print(a[2])--nil
print(a[3])--nil
print(a[4])--nill
print(a[1])--这里自定一索引不起作用,并不为8,而是1,这里注意,没有把带了自定义索引的东西算进去,用的是1,13,14,所以第一个是1
print(a["1"])--8,
print(a[3])--14,这里注意,没有把带了自定义索引的东西算进去,用的是1,13,14,所以第三个是14
aa={[1]=1,[3]=3,[4]=4,[5]=5}
print(aa[1])--1
print(aa[3])--3
print(aa[4])--4
print(aa[5])--5
c={[1]=1,[3]=3,[4]=4,[5]=5,"10","30",true}
print(c[1])--10
print(c[3])--true
print("************")
print(#c)--5
for i=1,#c do
	print(c[i])
end--10,30,true,4,5



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值