我想了解如何從表中的值打印字符串。例如。從表值返回字符串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值。
我想了解如何從表中的值打印字符串。例如。從表值返回字符串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值。
除非定義了__len
metamethod,#
運算符只能用於一個序列,但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:25:08
@BenjaminCondrea它是句法糖。參見[PiL](http://www.lua.org/pil/2.5.html)。 – 2015-02-06 07:30:49
順便說一句,你的表構造不正確,改變' 「蘋果」= 0'要麼'蘋果= 0'或'[ 「蘋果」] = 0'。 – 2015-02-06 07:14:15