【问题标题】:lua replace array2d value with another array1dlua用另一个array1d替换array2d值
【发布时间】:2017-03-23 21:20:40
【问题描述】:

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

示例array2d,我有

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

我想用这个 array1d 替换第三个数组值“role[...][3]”

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

我不知道。它不工作,你能告诉我它是如何工作的吗?

【问题讨论】:

  • 我不确定你想做什么,但你的 role_listname 表看起来肯定是错误的。您使用字符串(“1”、“2”等)作为键,但在 for 循环中使用数值(1、2 等)。这很重要!
  • 哦,是的,我忘了。现已编辑

标签: arrays multidimensional-array lua lua-table


【解决方案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 表中的相应键匹配即可。

【讨论】:

  • 真可惜,对不起我的逻辑,顺便说一句,我还在学习。但感谢您的帮助
猜你喜欢
  • 2017-03-24
  • 1970-01-01
  • 2017-03-26
  • 1970-01-01
  • 1970-01-01
  • 2012-10-03
  • 1970-01-01
  • 1970-01-01
  • 2016-08-23
相关资源
最近更新 更多