Scripting 在lua表上迭代无效

Scripting 在lua表上迭代无效,scripting,lua,luagl,Scripting,Lua,Luagl,我有以下lua表: t={name=“sandy”,age=“22”,major=“computerScience”} 我想迭代一下,下面两种方法都不起作用 方法1 函数printAssociateTable(t)打印(“循环前”)用于i、v 在ipairs(t)do中 打印(v)结束 方法2 函数printAssociateTable2(t)print(“在循环之前”)用于k in ipairs(t)do 打印(“循环前”) 打印(k…“是”..t.k)结束 当我调用任何一个方法时,它们都会打

我有以下lua表:

t={name=“sandy”,age=“22”,major=“computerScience”}

我想迭代一下,下面两种方法都不起作用

方法1

函数printAssociateTable(t)打印(“循环前”)用于i、v 在ipairs(t)do中 打印(v)结束

方法2

函数printAssociateTable2(t)print(“在循环之前”)用于k in ipairs(t)do 打印(“循环前”) 打印(k…“是”..t.k)结束

当我调用任何一个方法时,它们都会打印“在循环之前”。所以问题是程序没有进入循环

我尝试手动访问该表,如果我这样做:

返回t.name =>给桑迪

返回t[名称] =>给出nil

返回t[“name”] =>桑迪

如何迭代我的表?请注意,这两种方法都适用于这样一个简单的数组

a={“a”、“b”、“c”、“d”}


但是我想让它在我的关联数组上工作,
ipairs
迭代器只选择带有整数键的数组元素。要迭代所有需要的
,如下所示:

function printAssociateTable(t)
  print("before the loop")
  for i,v in pairs(t) do
    print(v)
  end
end

ipairs
迭代器仅选择具有整数键的数组元素。要迭代所有需要的
,如下所示:

function printAssociateTable(t)
  print("before the loop")
  for i,v in pairs(t) do
    print(v)
  end
end