[pyar] Curiosidades del Python

Alejandro J. Cura alecu en protocultura.net
Mie Oct 26 00:26:53 ART 2011


2011/10/25 Alejandro Santos <listas en alejolp.com>:
> 2011/10/25 Alejandro J. Cura <alecu en protocultura.net>:
>> On Mon, Oct 24, 2011 at 23:57, Alejandro Santos <listas en alejolp.com> wrote:
>>> 2011/10/24 Roberto Alsina <ralsina en netmanagers.com.ar>
>>>> Porque alguien querría hacer eso?
>>>
>>> Qué loco, yield es una expresión. Siempre creí que era un statement.
>>> Dando vueltas un rato por la doc de Python llegué al PEP 342. La idea
>>> es poder comunicarse ida y vuelta con el generator, no solo que el
>>> yield "dispare" valores sino tambien que los reciba de afuera.
>>>
>>
>> Y gracias a que yield devino expresión en Python 2.5 es que podemos
>> tener el defer.inlineCallbacks en twisted, sino no hubiera sido
>> posible.
>>
>
> Las corutinas son un "syntactic sugar" más. No te niego que son muy
> cómodas, pero decir que "no hubiera sido posible" es un poco fuerte.
> Siempre es posible implementar el método send manualmente, usando
> yield como statement.

Claro que se puede! Desde python 2.4 se podía usar deferredGenerator
en twisted, que hace algo similar a lo que planteás.
Pero lo que importa de inlineCallbacks es la legibilidad del código
que terminás haciendo, y eso es lo que "yield expresión" hace posible.

Acá hay una buena comparación:
http://blog.mekk.waw.pl/archives/14-Twisted-inlineCallbacks-and-deferredGenerator.html

saludos,
-- 
alecu



More information about the pyar mailing list