On 29/03/2022 03:18, Michael Smith wrote:
On Mon, Mar 28, 2022 at 16:06 Patrick Reader <python-ideas@pxeger.com> wrote:
I would like to be able to use a `yield from` expression in a `return` statement without parentheses, as a small quality of life tweak, i.e.:
return yield from gen
instead of
return (yield from gen)
What does this do? `return (yield …)` is the expression form, so this generator is really a coroutine, but unless I missed it your gist doesn't have a `.send` or `.throw` and you aren't using the value of StopIteration.
So I think your idea is really to create a shorthand for
``` yield from gen return ```
Is that what you mean? or if I misunderstand please explain further.
In my example, the return value (StopIteration value) of the generator is the function which will handle the next character in the lexer. The value of a `yield from` expression is the StopIteration value.