Mike Cargal wrote:
> So, IMHO, the primary cause is the absence of those pesky statement 
> terminators.

Ruby has a statement terminator, it's just optional. If this is an issue 
for you, feel free to use it.

Feeding the file:

1  class Foo
2
3    def baz
4      puts 'quux';
5    end
6
7    def foo
8      puts 'bar';
9      return Integer("10";
10   end
11
12   def fred
13     puts 'barney'
14   end
15
16 end

to ruby results in:
	
   foo.rb:9: syntax error
   foo.rb:16: syntax error

And the parser fails rather cleanly on the first unclosed paren. It's 
not quite as if the syntax were strict, and I'm sure some things can 
slip through, but it's a help.

Ruby isn't about enforcing rules and making decisions for you, it's 
about TIMTOWDI and adopting conventions that help you personally from 
the options available.

David Vallner