2011-10-15 39 views
1

從以下頁面(http://code.google.com/p/appengine-pipeline/wiki/GettingStarted)我看到了下面的代碼中如何使用AppEngine上管道的例子:AppEngine管線收益率 - 收益率運營商的這種標準用法?

class AddOne(pipeline.Pipeline): 

    def run(self, number): 
    return number + 1 

class AddTwoAndLog(pipeline.Pipeline): 

    def run(self, number): 
    result = yield AddOne(number) 
    final_result = yield AddOne(result) 
    yield LogMessage('The value is: %d', final_result) # Works  

我的問題/困惑是關於「=」右側的產量陳述。這是標準的Python語法/用法,還是僅允許/使用Pipeline模型的特殊情況?這裏發生了什麼?

+4

你可能想在發電機作爲協同例程讀了。 http://antroy.blogspot.com/2007/04/python-coroutines.html我相信結果是由調用者通過send(...)分配的,但要回答我們的問題,根據上面的鏈接它是標準的語法作爲python2.0 –

+0

謝謝湯姆,至少我現在知道要查找的術語,並開始指出瞭解這裏發生了什麼。 –

+0

我發現下面的PDF演示文稿非常清晰,對理解協程很有幫助:http://www.dabeaz.com/coroutines/Coroutines.pdf –

回答