我正在尝试学习如何从表中的值打印字符串。例如。
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值打印所有字符串。
答案 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