Return 来自 table 个值的字符串 Lua

Return strings from table values Lua

我正在尝试学习如何从 table 中的值打印字符串。例如。

TestTable = { "Apples" = 0, "Oranges" = 1, "Grapes" = 1, "Bananas" = 0}

for i=1, #TestTable do
   if TestTable[i] == 1 then
      print(TestTable[i]) --> Oranges Grapes
   end
end

不确定这是否有意义,但我想打印所有值为 1 的字符串。

除非定义了__len元方法,否则#运算符只能用在一个序列上,而TestTable不是一个。

您可以使用 pairs 迭代 table:

TestTable = { Apples = 0, Oranges = 1, Grapes = 1, Bananas = 0}

for k, v in pairs(TestTable) do
    if v == 1 then
        print(k)
    end
end