API ipairs

Returns an iterator triple that allows the Lua for loop to iterate over the array portion of a table.
 iteratorFunc, table, startState = ipairs(table)
==Example==
 local fruits={"apple","orange","banana","kiwi"}
 for index,value in ipairs(fruits) do 
 DEFAULT_CHAT_FRAME:AddMessage(tostring(index).." : "..value)
 end
Result:
 1 : apple
 2 : orange
 3 : banana
 4 : kiwi
would be output to the chat window.
Note that ipairs() starts at index 1 and stops counting as soon as it reaches a nil value. Example:
 > t = { [0] = "zero", --will not be counted
 [1] = "one", --will be counted; 1
 [2] = "two", --will be counted; 2
 [3] = "three", --will be counted; 3
 ["four"] = "four", --will not be counted; returns 3
 [5] = "five" } --will never be reached
 > for i,v in ipairs(t) do print(i..":"..v) end
 1:one
 2:two
 3:three
Note that t[0] is never reached because it starts counting at [1], t["four"] is never reached because it is not an array index, and t[5] is never reached because the iterator ceases when it checks t[4] and finds a nil value.