Lua IPAIR未从表中获取数据
我是Lua的新手。尝试一些教程。我的理解是,在Lua中,表是一个键值存储,任何允许的Lua类型都是除nil以外的键。IPAIR是一种在表上迭代直到IPAIR达到nil键的方法 我试着用上面的理解来理解下面的内容。但第二个ipairs循环没有打印任何内容。 下面的代码段打印键和值Lua IPAIR未从表中获取数据,lua,Lua,我是Lua的新手。尝试一些教程。我的理解是,在Lua中,表是一个键值存储,任何允许的Lua类型都是除nil以外的键。IPAIR是一种在表上迭代直到IPAIR达到nil键的方法 我试着用上面的理解来理解下面的内容。但第二个ipairs循环没有打印任何内容。 下面的代码段打印键和值 a ={} for i=1,1000 do a[i]=i end for i,data in ipairs(a) do print("key is:" .. i) prin
a ={}
for i=1,1000 do
a[i]=i
end
for i,data in ipairs(a)
do
print("key is:" .. i)
print("value is " .. data)
print("\n")
end
这个没有打印任何东西
b={}
b["a"]="a"
b["name"]="test"
b[10] ="b10"
b["@"]="@@"
for i,data in ipairs(b)
do
print("key is :" .. i)
print("data is :" .. data)
print("\n")
end
有什么问题吗
我正在尝试的完整代码
function work_with_table()
a = {}
for i=1,1000 do
a[i]=i
end
for i,data in ipairs(a)
do
print("key is:" .. i)
print("value is " .. data)
print("\n")
end
b={}
b["a"]="a"
b["name"]="test"
b[10] ="b10"
b["@"]="@@"
for i,data in ipairs(b)
do
print("key is :" .. i)
print("data is :" .. data)
print("\n")
end
end
work_with_table()
编辑1:
我相信这个方块能创造一对?(“a”,t[“a”])(“name”,t[“name”])) 编辑2: 当表的索引基于整数时,请使用ipair。否则,将对用于通用键、值循环。谢谢大家的帮助……
迭代对(1,t[1])`,(2,t[2]),…,直到第一个nil值。您使用“IPAIR”而不尝试使用“pairs”?比较一下,我对
IPAIR
使用助记符整数对。我相信这个块创建了一对吗?(“a”,t[“a”])(“name”,t[“name”])b={}b[“a”=“a”b[“name”]=“test”b[10]=“b10”b[“@”]=“@”@”@GAK再次阅读了lhf的答案——他说的是键是1中的数字的配对,而不是像你的例子中那样的任何随机字符串。为此,您需要使用对。顺便说一句,对
输出不以任何方式排序。
b={}
b["a"]="a"
b["name"]="test"
b[10] ="b10"
b["@"]="@@"