跳转至内容

22. 迷茫,pairs,ipairs

3.18,迷茫了,感觉没跟上 AI 的步伐。不知道现在做的是对是错了。

感觉性价比还是太低了,手写的话,不知道要多久才能做一个像样的游戏。

要不就先直接往一个游戏的方向去做,然后慢慢抽象出一个基于 love 的框架出来。

ipairs & pairs

  • 把 table 当作纯数组/列表用,并且里面是用 table.insert 追加元素时 -> 无脑用 ipairs
  • table 当作对象/字典/Map用,键是各种字符串或乱七八糟的 ID 时 -> 无脑用 pairs
lua
local myTable = {
    [1] = "苹果",
    [2] = "香蕉",
    [4] = "葡萄",        -- 注意:这里跳过了索引 3,形成了一个“空洞”
    name = "水果篮子",    -- 这是一个字符串键(字典元素)
    type = "混合"        -- 这也是一个字符串键
}

for index, value in ipairs(myTable) do
    print(index, value)
end
-- 1       苹果
-- 2       香蕉
-- 严格有序,从 1 开始
-- 无视非数字键
-- 遇到 nil 就罢工,比如这里索引 3 无定义,会直接停止


for key, value in pairs(myTable) do
    print(key, value)
end

-- 1       苹果
-- 2       香蕉
-- 4       葡萄
-- name    水果篮子
-- type    混合
-- 会把表里的东西全部掏出来,不管你的键是数字还是字符串
-- 可能是无序的