On Fri, Jul 11, 2008 at 7:10 PM, Greg Ewing <[EMAIL PROTECTED]> wrote:
> Adam Olsen wrote:
>>
>> However, since the genexp considers all improper ones to be in error,
>> it could wrap them with a RuntimeError and pass it through .next()
>> instead.
>
> Would you do that only for genexps, or for generators
> in general?
>
> The current behaviour seems to be that if you explicitly
> raise StopIteration in a generator, the generator then
> considers itself to be exhausted (i.e. all subsequent
> calls to next() raise StopIteration as well).
>
> Is that behaviour deliberate? If so, do the reasons for
> it also apply to genexps?

My intent was to only do so for genexps - the behaviour there seems
accidental, has no use case, and shouldn't have many people dependent
on it.

Although, upon rereading PEP 255 it seems that despite being
documented, the behaviour of raising StopIteration is an accident
there too.  "return" doesn't use it and no use case is given.  Since
the current behaviour is confusing, I would like to see it changed
here too.  Might need to be a warning first though.


-- 
Adam Olsen, aka Rhamphoryncus
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to