我是Lua的新手。尝试一些教程。我的理解是,在Lua中,一个表是一个键值存储,任何允许的LUA类型都是除了nil以外的键。 ipairs是一种迭代表的方法,直到ipairs达到零键。
我按照上述理解尝试了以下内容。但第二个ipairs循环不打印任何东西。 下面的代码段打印键和值。
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"])("名称",t ["名称"])
b={}
b["a"]="a"
b["name"]="test"
b[10] ="b10"
b["@"]="@@"
编辑2:
当表的索引是基于整数时使用ipair。否则使用对通用键,值循环。谢谢大家的帮助...