Co-Routine / Python

超簡単に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でもっといろいろなテストをしてみたいと思います。

Leave a Reply