>A for statement like > > for var_1, ・・・, var_n in explist do block end > >is equivalent to the code: > > do > local f, s, var = explist > while true do > local var_1, ・・・, var_n = f(s, var) > var = var_1 > if var == nil then break end > block > end > end
io.lines 等を使うときは s や var は考えないわけだが、 f() の代わりに f(s, var) としても間違いじゃないから上のコードで統一できる。