difference between pairs and ipairs in lua

tags: learning lua programming diff-between

content

local lua_array = { 1, 10, "hello", lua = "test" }
print("this is pairs")
for idx, value in pairs(lua_array) do
	print(idx .. ":" .. value)
end
print("this is ipairs")
for idx, value in ipairs(lua_array) do
	print(idx .. ":" .. value)
end
  • in this code
    • pairs prints out lua: test
    • ipairs does NOT print out lua: test

Note

ipairs works for arrays

  • ipairs stops at the first nil value
local t = { "a", nil, "c" }
 
for i, v in ipairs(t) do
  print(i, v)
end
  • c won’t be printed

up

down

reference