Pythonのお勉強 Part15
■ このスレッドは過去ログ倉庫に格納されています
0491Python初心者(復活)
2006/11/29(水) 12:14:41Python2.5ではgeneratorにおいてsend()によって「値を
渡す」ことが出来るようになったとある。
例えば:
lang = ['C','Java','Perl','Lisp',
'Python','Ruby']
def conLang (maximum):
i = 0
while i < maximum:
val = (yield lang[i])
if val is not None:
i = lang.index(val)
else:
i += 1
if __name__=='__main__':
x = conLang(6)
print x.next()
print x.next()
print x.send('C')
print x.next()
print x.send('Python')
print x.next()
以上のコードから、原則的にyield文の戻り値は代入
出来ないが、send()とは結局(yield ??)の
「代入」を可能にするということですか?
■ このスレッドは過去ログ倉庫に格納されています