Issue #2737 has been updated by Kornelius Kalnbach.


I'd argue that this is ambiguous to the reader, too. We should not make a special case for the + operator combined with a literal; the parser has to decide the ambiguity before even getting to the literal.

locals are a special case, because Ruby determines them statically (everything that has been assigned to in the current scope). constants, on the other hand, cannot be determined that way, so Ruby has to decide whether it treats an upper-case identifier as a constant or a method. (There are upper-case methods like Kernel#Array.)
----------------------------------------
http://redmine.ruby-lang.org/issues/show/2737

----------------------------------------
http://redmine.ruby-lang.org