Hi,

In message "[ruby-talk:10113] Re: A parsing bug?"
    on 01/01/30, "Brian F. Feldman" <green / FreeBSD.org>
    writes:

|names.push (fp.gets "\0").chop # == names.push(fp.gets
|"\0").chop
|names.push fp.gets("\0").chop # ==
|names.push(fp.gets("\0").chop)
|
|I don't really like it myself, and have problems with it
|all the time, but 
|method grouping via parentheses  works such that "method
|(stuff)" is 
|interpreted to mean "call method with arguments stuff"
|despite there being a 
|space.  I just use parentheses on nearly everything myself
|to work around 
|this and remain consistent (^_^)

Once upon a time, 

 names.push (fp.gets "\0").chop

was 

  names.push((fp.gets "\0").chop)

while 

 names.push(fp.gets "\0").chop

was

 (names.push(fp.gets "\0")).chop

But I changed this for too much ambiguity.  I miss old
behavior
sometimes, especially when I change

  p 1+2

into

 p (1+2).abs

It should be


 p ((1+2).abs)

                                                matz.