From: Quinn Dunkan Date: 2000-03-27T15:27:22-08:00 Subject: [ruby-talk:02200] Re: parse bug in 1.5 On 26 Mar 2000, Yukihiro Matsumoto wrote: > > |Ruby 1.5 seems to have a problem when parsing methods called > |with a {...} block if there is space before the opening paren. > > It's not a bug. It is a bad feature which I'm thinking about > improvement, and not yet come to conclusion. ;-) > > In 1.4.x, identifiers followed by parenthesises is considered as > method invocation. In 1.5.x, if whitespaces comes between identifiers > and parenthesises, parenthesises are considered as expression > grouping, to enable: > > point.move (1+3)*2, 5 This slipperly path looks like one followed by a certain other language. The fact that ruby has variadic functions and optional parens causes some unpleasant ambiguities, but I'd rather ruby raise a SyntaxError when it doesn't know what you mean, rather than "cleverly" trying to figure it out. Now *I* have to figure out what ruby is going to figure out based on what it thinks I'm thinking... I just wanna write code, not play mind games with a compiler! For me at least, ruby's syntax is hovering near the edge of "too complicated". Please don't push it over :)