[Python-ideas] A send() built-in function to drive coroutines

Luciano Ramalho luciano at ramalho.org
Mon Feb 16 19:03:04 CET 2015


My previous pseudo-code lost the result of next(coroutine) -- which
may or may not be relevant.

I amended the send() code and wrote a few examples of it's use in a gist:

https://gist.github.com/ramalho/c1f7df10308a4bd67198

Now the user can decide whether or not to ignore the result of the
priming next() call.

Best,

Luciano


On Mon, Feb 16, 2015 at 10:59 AM, Luciano Ramalho <luciano at ramalho.org> wrote:
> On Mon, Feb 16, 2015 at 10:53 AM, Luciano Ramalho <luciano at ramalho.org> wrote:
>> At a high level, the behavior of send() would be like this:
>>
>> def send(coroutine, value):
>>     if inspect.getgeneratorstate() == 'GEN_CREATED':
>>         next(coroutine)
>>     coroutine.send(value)
>
> In the pseudo-code above I forgot a return statement in the last line.
> It should read:
>
> def send(coroutine, value):
>     if inspect.getgeneratorstate() == 'GEN_CREATED':
>         next(coroutine)
>     return coroutine.send(value)
>
> Best,
>
> Luciano
>
>
> --
> Luciano Ramalho
> Twitter: @ramalhoorg
>
> Professor em: http://python.pro.br
> Twitter: @pythonprobr



-- 
Luciano Ramalho
Twitter: @ramalhoorg

Professor em: http://python.pro.br
Twitter: @pythonprobr


More information about the Python-ideas mailing list