1*572c4311Sfengbojiang-- example of for with generator functions 2*572c4311Sfengbojiang 3*572c4311Sfengbojiangfunction generatefib (n) 4*572c4311Sfengbojiang return coroutine.wrap(function () 5*572c4311Sfengbojiang local a,b = 1, 1 6*572c4311Sfengbojiang while a <= n do 7*572c4311Sfengbojiang coroutine.yield(a) 8*572c4311Sfengbojiang a, b = b, a+b 9*572c4311Sfengbojiang end 10*572c4311Sfengbojiang end) 11*572c4311Sfengbojiangend 12*572c4311Sfengbojiang 13*572c4311Sfengbojiangfor i in generatefib(1000) do print(i) end 14