zip関数
function zip(tbl1, tbl2) return coroutine.wrap(function () ff1,tt1,nn1 = ipairs(tbl1) ff2,tt2,nn2 = ipairs(tbl2) while true do i1, v1 = ff1(tt1,nn1) i2, v2 = ff2(tt2,nn2) if not v1 or not v2 then break end nn1 = nn1 + 1 nn2 = nn2 + 1 coroutine.yield(v1, v2) end end) end for a,b in zip({1,2,3}, {'a','b','c'}) do print(a,b) end -- 実行結果 1 a 2 b 3 c