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