>
> for v in iter(get_something, INCOVENIENT_SENTINEL):
>      do_something(v)
>

> There are many ways round my use case, all of them inelegant.  That has to
> be one of the less comprehensible alternatives.

In for-loops (because they include an assignment already) we can improve
this with more indicatively named functions in practice.


-- Carl Smith
carl.in...@gmail.com

On 21 May 2018 at 14:14, Rhodri James <rho...@kynesim.co.uk> wrote:

> On 21/05/18 12:29, Daniel Moisset wrote:
>
>> On 21 May 2018 at 12:05, Rhodri James <rho...@kynesim.co.uk> wrote:
>>
>>
>>> Thanks for the analysis, but I'm afraid I must disagree with your
>>> recommendation.  It was the thought I first had when Chris came out with
>>> his first draft of the PEP several months ago, but it's not enough to
>>> cope
>>> with my usual use cases.  What I normally want is the Python equivalent
>>> of:
>>>
>>>    while ((v = get_something()) != INCONVENIENT_SENTINEL)
>>>      do_something(v);
>>>
>>> The condition expression itself is not what I want to capture; I need a
>>> subexpression, which the "as" syntax won't give me.
>>>
>>>
>>> That use case should be covered by
>>
>> for v in iter(get_something, INCOVENIENT_SENTINEL):
>>      do_something(v)
>>
>
> There are many ways round my use case, all of them inelegant.  That has to
> be one of the less comprehensible alternatives.
>
>
> --
> Rhodri James *-* Kynesim Ltd
> _______________________________________________
> Python-ideas mailing list
> Python-ideas@python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to