从表值Lua返回字符串

时间:2015-02-06 07:05:53

标签: lua 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值打印所有字符串。

1 个答案:

答案 0 :(得分:2)

除非定义了__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