07 Lua基础-table 实例化和遍历方式

1.table 实例化

  1. Lua 中 table 的索引不是 0 开始,而是 1 开始
  2. table 访问的方式与数组的方式类似
-- table 
-- 建立一个空的 table
mytable = {}

--建立一个有数据的 table
mytableData = {

sequenceDiagram
A->>B: How are you?
B->>A: Great!


    1,
    2,
    3,
    4
}

-- #mytableData 井号表示取长度
for i=1,#mytableData do
    print(mytableData[i])
end

2.table 的遍历方式

table 是一个动态对象,也类似于程序指针,支持链表、键值对形式

2.1 第一种遍历方式-For 循环
-- table 例子
mTable = {
    -- 索引
    1,
    k = "x",
    j = "y",
    4,
    5
}

-- 第一种遍历方式
for i=1, #mTable do
    print("value is " ..mTable[i])
end

运行结果

value is 1
value is 4
value is 5
[Finished in 0.1s]
2.2 第二种遍历方式-迭代器
-- table 例子
mTable = {
    -- 索引
    1,
    k = "x",
    j = "y",
    4,
    5
}

-- 第二种遍历方式-迭代器
for i,v in ipairs(mTable) do
    print(i,v)
end

运行结果

1   1
2   4
3   5
[Finished in 0.1s]
2.3 第三种遍历方式-键值对方式

pairs 将所有的值显示出来

-- table 例子
mTable = {
    -- 索引
    1,
    k = "x",
    j = "y",
    4,
    5
}

-- 第三种遍历方式-键值对方式
for k,v in pairs(mTable) do
    print(k,v)
end

运行结果

1   1
2   4
3   5
k   x
j   y
[Finished in 0.1s]

上述不是顺序索引

3.table 表示键值对

  • a.x 等价于 a[“x”]
  • a[x] 以变量 x 的值来索引 table
-- table 键值对
mTable = {
    -- 索引
    k = "x"
}



print(mTable["k"])
-- 很 C 语言
print(mTable.k)

--[[
a.x 等价于 a["x"]
a[x] 以变量 x 的值来索引 table
]]
s = "a"
mTable[s] = 10
print(mTable[s])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

法迪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值