从Lua表值返回字符串

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

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值的字符串。

点赞
用户1009479
用户1009479

除非定义了__len元方法,否则#运算符只能用于序列,但TestTable不是序列。

您可以使用pairs来迭代表格:

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

for k, v in pairs(TestTable) do
    if v == 1 then
        print(k)
    end
end
2015-02-06 07:11:14