lua将array2d值替换为另一个array1d

时间:2016-11-09 23:13:07

标签: arrays multidimensional-array lua lua-table

我需要帮助,关于如何用另一个array1d替换我的array2d

示例array2d,我有

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

我想替换第三个数组值"角色[...] [3]"使用此array1d

role_listname = {
    [1] = "Winner!",
    [2] = "Funnier!",
    [3] = "Crazy!"
}

所以得到的结果。

1. Winner - 30p
2. Crazy - 50p
Not like
1. Winner - 30p
2. Funnier - 40p

我的代码:

for i = 1, #role do
    role[i][3] = role_listname[i]
    print(i .. ". " .. role[i][3] .. " - " .. role[i][2])
end
我不知道。它没用,你能告诉我它是如何工作的吗?

1 个答案:

答案 0 :(得分:1)

你的逻辑错了。您使用循环变量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]] -- here is the change
    print(i .. ". " .. role[i][3] .. " - " .. role[i][2])
end

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