Lua——ipairs

例子1:

a = {[1]="a","b","c","d","e","f" }

for k,v in ipairs(a)
	do
		print(k)
		print(v.."\n")
end

输出1:

>lua -e "io.stdout:setvbuf 'no'" "luatest.lua"
1
b

2
c

3
d

4
e

5
f

>Exit code: 0

---------------------------------------------------------------------------------------------------------------------

例子2:

a = {"a","b","c","d","e","f" }

for k,v in ipairs(a)
	do
		print(k)
		print(v.."\n")
end


输出2:

>lua -e "io.stdout:setvbuf 'no'" "luatest.lua"
1
a

2
b

3
c

4
d

5
e

6
f

>Exit code: 0

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

例子3:

a = {[1]="a",[2]="b",[3]="c",[4]="d",[5]="e",[6]="f"}

for k,v in ipairs(a)
	do
		print(k)
		print(v.."\n")
end


输出3:

>lua -e "io.stdout:setvbuf 'no'" "luatest.lua"
1
a

2
b

3
c

4
d

5
e

6
f

>Exit code: 0

总结:

pairs会遍历所有元素,ipairs不遍历设置索引值的元素(如果设置的索引值是连着默认值时可以遍历,例如例子1中设置[6]="a",那么可以遍历它,也就是说遍历连续的索引值)
 

你可能感兴趣的:(Lua——ipairs)