lua语言的for循环,该如何解决

lua语言的for循环
days={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}
revDays?=?{}?

for?i,v?in?ipairs(days)?do
revDays[v]?=?i?
end

for?i?in?pairs(revDays)?do?
print(revDays[i])
end
for循环中ipairs和pairs是起什么作用,怎么使用呢?求指导!
------解决方案--------------------
for循环中ipairs和pairs,分别是用来遍历数组元素,和遍历所有用的元素用的
for?i,v?in?ipairs(days)?do
revDays[v]?=?i?
end
这里,i表示的就是数组的索引,从1开始到7为止,v表示的就是数组的数据比如"Sunday"

for?i?in?pairs(revDays)?do?
print(revDays[i])
end
这里,遍历所有元素,由于是按hash表存的index,所以可能是1到7乱序排列,v表示的是数组的数据。

所以,如果一个table里有以string为索引的,ipairs是不能遍历所有的元素,只能用pairs

相关内容推荐