Cocos2d-Lua之table

一、一维数组

a = {1,2,3, x = 5, y = 7, 9, nil, 10, m = 11}
a[10] = 12
a.m = "a.m"
a["n"] = "a[n]"
len = table.maxn(a)
print("len = " .. len)
for i = 1, len do
    print(a[i])
end
print("a.x = " .. a.x)
print("a[\"y\"] = " .. a["y"])
print("a.m = " .. a.m)
print("a.n = " .. a.n)

可以看到数组里可以存放各种类型的值,也可以存放键-值对,由于之前计算长度的“#”运算符对于数组结尾是nil的情况会特殊处理,这里用

len = table.maxn(a)

计算数组长度,可以看到这里计算出来的数组长度不包括键-值对的个数。

另外键-值对的表示方法可以是:

tablename.key键
或者
tablename["key键"]    //注意这里要加引号,不同于其他语言

输出结果:

这里写图片描述

Lua中的数组下标是从1开始的,如果想从0开始可以这么写:

a = {[0] = 1,2,3, x = 5, y = 7, 9, nil, 10, m = 11}

特殊字符也可以作为键值,只不过只能通过tablename[“key键”] 方式进行访问

b = {["+"] = "a", ["-"] = "b"}
print(b["+"])

二、二维数组

a = {{1, 2, 3}, {"aa", "bb", "cc"}}
a[3] = {"赵", "钱", "孙", "李"}

len = table.maxn(a);
for i = 1, len do
    innerlen = table.maxn(a[i])
    for j = 1, innerlen do
        print(a[i][j])
    end
end

输出结果:

这里写图片描述

说白了二维数组就是数组嵌套,也可以有多维数组,都是一样的道理。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值