"also" to balance "else" ?
Ron Adam
rrr at ronadam.com
Tue Jun 14 00:09:19 EDT 2005
John Roth wrote:
>
> "Ron Adam" <rrr at ronadam.com> wrote in message
> news:H6pre.131217$IO.122689 at tornado.tampabay.rr.com...
>
>> Currently the else block in a for loop gets executed if the loop is
>> completed, which seems backwards to me. I would expect the else to
>> complete if the loop was broken out of. That seems more constant with
>> if's else block executing when if's condition is false.
>
>
> Actually, it makes sense if you look at it correctly.
>
> In an unadorned loop, exits via break and via the
> loop condition becoming false go to the same place.
> To distinguish requires some kind of a switch.
>
> In a loop with an else, exits via break skip the else
> clause, while an exit via the loop condition takes
> the else clause. You don't need a special exit on
> break since you can put any amount of logic after
> the if and in front of the break. Where you need it
> is on exit via the loop condition.
>
> The difficulty you're having with this is that else
> is a very bad keyword for this particular construct.
> I'd prefer something like "on normal exit" as
> a keyword.
It's not a difficulty. This is the point I was making. :)
My suggestion is to use, also as the keyword to mean "on normal exit"
'also' do this.
Ron
More information about the Python-list
mailing list