local table = {10, 20, 30} function ipairs(t) print("inside!") local i = 0 return function (state, control) print(state, control) i = i + 1 if i > #table then return nil, nil end return i, t[i] end, "otus", "potus" end print("before") for k, v in ipairs(table) do print(k, v) end print("after!")