ipairs iterates over sequential integer keys,starting at 1 and breaking on the first nil pair.
pairs iterates over all key-value pairs in the table. Note that this is not guaranteed to iterate in a specific order.
代码例子:
days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }
days_key_number = {}
days_key_string = {}
print("transfer lua's table(array)")
print(string.rep("#",10))
for k, v in ipairs(days) do
days_key_number[k]=v
days_key_string[v]=k
print(k..v)
end
print("ipairs vs pairs")
print(string.rep("#",10))
print("days_key_number with pairs")
for k,v in pairs(days_key_number) do
print(k..v)
end
print("days_key_number with ipairs")
for k,v in ipairs(days_key_number) do
print(k..v)
end
print("days_key_string with pairs")
for k,v in pairs(days_key_string) do
print(k..v)
end
print("days_key_string with ipairs")
for k,v in ipairs(days_key_string) do
print(k..v)
end
print(string.rep("#",10))
print("other way to transfer table")
table.foreach(
days,
function(k,v)
print(k..v)
end
)
print(string.rep("#",10))
for i=1,#days do
print(i..days[i])
end