Block delimiting

From: Joe Mason joe@notcharles.ca

def iffunc
something = false
something_else = true

if something == true
    puts "in an if"
    elsif something_else == true
         puts "nope, I'm here"; end

puts "ending iffunc"; end

Oh, god, that’s hard to follow!

That means if you forget an end, you get a weird broken block structure
that could do anything. The whole point of Python’s delimiting is that
it’s not possible to have a mismatch between what the programmer and the
interpreter think the structure is.

The OP would be better off writing a script to parse his code with
Python-like indentation rules, and add delimiters when appropriate.

Joe

While I agree that it’s just plain ugly, and I would never actualy argue
that anyone should do it, I

  1. had the impression from the OP that the visual significance was what was
    important.

  2. believe that “if you forget an end” this way or forget and end otherwise
    it’s a problem (although I understand your argument, yet see [1]).

  3. don’t think that having source that wouldn’t possibly compile on another
    system because of a “special” syntax which needs a “special” parser is a
    good idea at all.

  4. wonder why I’m even wasting my breath on the subject as there’s no good
    answer and frankly, I think Ruby’s as close to perfect for me as I’ll ever
    find and don’t much care if anyone else uses it as long as I can. :O)

···

In article Law12-F38fDGCl9FopY000082ac@hotmail.com, Mike Wilson wrote:


Make your home warm and cozy this winter with tips from MSN House & Home.
http://special.msn.com/home/warmhome.armx