Bob Ippolito wrote:

>>> def strawman(self):
>>>     def sayGoodbye(mingleResult):
>>>         def goAway(goodbyeResult):
>>>             self.loseConnection()
>>>         self.send("goodbye").addCallback(goAway)
>>>     def mingle(helloResult):
>>>         self.send("nice weather we're having").addCallback(sayGoodbye)
>>>     self.send("hello").addCallback(mingle)
>>
>>     def iterman(self):
>>         yield "hello"
>>         yield "nice weather we're having"
>>         yield "goodbye"
>
> Which, more or less works, for a literal translation of the straw-man above.  
> However, you're 
> missing the point.  These deferred operations actually return results.  
> Generators offer no sane 
> way to pass results back in.

that's why you need a context object (=self, in this case).

    def iterman(self):
        yield "hello"
        print self.data
        yield "nice weather we're having"
        print self.data
        yield "goodbye"

also see:

    http://effbot.org/zone/asyncore-generators.htm

> If they did, then this use case could be mostly served by generators.

exactly.

</F> 



_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to