超簡単にPythonでコルーチンを表現するのにす、わかりやすいと思われる例をメモしておきます。
def ro1(): for i in range(1,5): print i def ro2(): for i in range(101,105): print i ro1() ro2()
1
2
3
4
101
102
103
104
これを以下のようにすると、
def co1(): for i in range(1,5): yield i def co2(): for i in range(101,105): yield i i1 = co1() i2 = co2() for i in range(1,5): print i1.next() print i2.next()
1
101
2
102
3
103
4
104
今度は、コルーチンが得意なLuaでもっといろいろなテストをしてみたいと思います。