On 03/06/2016 02:05, Lawrence D’Oliveiro wrote:
On Friday, June 3, 2016 at 8:52:52 AM UTC+12, BartC wrote:
One major objection was that C's 'for' isn't really a for-statement at
all (as it is understood in most other languages that haven't just
copied C's version), but is closer to a 'while' statement.
Apart from having local loop variables that get initialized just once. Not
something you can fake with a “while” statement.
It's not hard. For:
for (int A=B; C; D) {BODY}
you just write:
{int A=B;
while (C) {
BODY;
D;
}
}
That’s what makes C’s for-statement so versatile.
That's if you're into that. I've only ever use local variables with
function-wide scope.
If your concern is with optimising, other languages can just have a rule
about the validity of a for-loop index variable when the loop
terminates. That's impossible in C because, it being so general purpose,
there is no such thing as a for-loop index:
a=0; b=1;
for (c=2; d<e; ++f) {...}
which one is the loop index? So it is necessary to stick actual
declarations within the loop. Messy.
(Sorry, we're getting away from Python somewhat!)
--
Bartc
--
https://mail.python.org/mailman/listinfo/python-list