Tim Hammerquist
1/30/2006 7:20:00 AM
Rubyist <nuby.ruby.programmer@gmail.com> wrote:
> <doug00@gmail.com> wrote:
> > What would be even better would be to allow optional labels
> > after end statements, such as "end class", "end def", so the
> > parser can catch more errors.
>
> That sound like a good idea. But what about "if", "when",
> "for", "until" etc?
> Hmm...
> "endif", "end when", "end for", "end until", "end class", "enddef",...
Or how 'bout "if - fi" and "until - done" and "for - done"...
nah. As much as the Bourne shell has a few constructs that
seem to meet your criteria, I don't think it's the answer.
I have to say, as much as I like the idea of significant
whitespace for *certain* things (preservation of vertical
space; force new programmers to indent), I just don't think it's
the right solution here, either.
Besides, Python has no solution for *which* scope is ended when
code is reverse indented. It's clean, but not descriptive.
I agree that Ruby's explicit "end"s make it nicer for use in
erb. And at least this way you can, for your posterity's sake,
do:
stuff.each do |thing|
if thing.instance_of?(other_thing)
thing.action()
end # if
end # each stuff
Cheers,
Tim Hammerquist