lua替换二维数组的值为另一个一维数组

我需要帮助,关于如何用另一个一维数组替换我的二维数组

我有一个二维数组的示例

role = {{"mike", "30", "1"},
        {"mike", "50", "3"}}

我想用这个一维数组替换第三个数组值"role [...] [3]"

role_listname = {
    [1] = "第一名!",
    [2] = "更好玩!",
    [3] = "疯狂!"
}

所以我得到的结果是。

1. 第一名 - 30p
2. 疯狂 - 50p
不像
1. 第一名 - 30p
2. 更好玩 - 40p

我的代码:

for i = 1, #role do
    role[i][3] = role_listname[i]
    print(i .. ". " .. role[i][3] .. " - " .. role[i][2])
end

我不知道。它不起作用,你能告诉我它怎么工作的吗?

点赞
用户3197530
用户3197530

你的逻辑有误。你正在使用 loop 变量 i 作为索引,但你想要使用角色表中对应的条目:

role = {
    {"mike", "30", 1},
    {"mike", "50", 3}
}
role_listname = {
    [1] = "Winner!",
    [2] = "Funnier!",
    [3] = "Crazy!"
}

for i = 1, #role do
    role[i][3] = role_listname[role[i][3]] -- 这是更改的地方
    print(i .. ". " .. role[i][3] .. " - " .. role[i][2])
end

请注意,我也将角色表中的索引更改为数字。但这并不重要,你可以使用任何键。它们只需要与 role_listname 表中对应的键匹配即可。

2016-11-09 23:39:56