我有以下lua表:
t = {name =“sandy”,age =“22”,major =“computerScience”}
我想迭代它,下面的两个方法都不起作用
方法1
函数printAssociateTable(t)打印(“循环前”)i,v 在ipairs(t)做 print(v)end end
方法2
函数printAssociateTable2(t)打印(在循环之前“)用于k in ipairs(t)做 打印(“循环前”) print(k ..“是”..t.k)end end
当我调用任何一种方法时,它们会在“循环之前”打印。所以程序没有进入循环的问题!
我尝试手动访问该表,如果我这样做:
返回t.name =>给沙子
return t [name] =>给出 nil
return t [“name”] =>给沙子!
我怎么能遍历我的桌子?请注意,这两种方法都适用于像这样的简单数组
α= { “一”, “B”, “C”, “d”}
但我想让它在我的关联数组
上工作答案 0 :(得分:4)
ipairs
迭代器仅选择具有整数键的数组元素。迭代所有需要pairs
的键,如下所示:
function printAssociateTable(t)
print("before the loop")
for i,v in pairs(t) do
print(v)
end
end