Paul Rubin wrote:
> John Nagle <[EMAIL PROTECTED]> writes:
>>     In a language with few declarations, it's probably best not to
>> have too many different nested scopes.  Python has a reasonable
>> compromise in this area.  Functions and classes have a scope, but
>> "if" and "for" do not.  That works adequately.
> 
> I think Perl did this pretty good.  If you say "my $i" that declares
> $i to have block scope, and it's considered good practice to do this,
> but it's not required.  You can say "for (my $i=0; $i < 5; $i++) { ... }"
> and that gives $i the same scope as the for loop.  Come to think of it
> you can do something similar in C++.

How then might one define a block? All lines at the same indent level 
and the lines nested within those lines?

i = 5
for my i in xrange(4):
   if i:             # skips first when i is 0
     my i = 100
     if i:
       print i       # of course 100
     break
   print i           # i is between 0 & 3 here
print i             # i is 5 here


Doesn't leave a particularly bad taste in one's mouth, I guess (except 
for the intended abuse).

James
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to