Issue #14463 has been updated by shevegen (Robert A. Heiler).


> I still find it very odd that it's inconsistent.

Tsuyoshi Sawada pointed out something similar in the issue that
was referred to 5 years ago and I also agree with it.

I know little to nothing how ruby works internally but I would
have assumed that comments are completely ignored. Like "hello
ruby parser, ignore everything that comes on the line after a
'#' token". I should, however had, also say that I do not think
that I was ever affected by it; I don't think I wrote a .foo
method call on the next line, ever, in all my years of ruby. :)

The only excessive method chaining I sometimes do, but also quite
rarely, is something like this (semi-contrived):

    object.sub(//,'').sub(//,'').sub(//,'').sub(//,'').
           sub(//,'').sub(//,'').sub(//,'').sub(//,'')

And I already considered that pretty strange to do, but I do that
very rarely ... though never with the '.' dot on a newline.

----------------------------------------
Feature #14463: Allow comments to precede dots in member expressions
https://bugs.ruby-lang.org/issues/14463#change-70691

* Author: isiahmeadows (Isiah Meadows)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
I, coming from other languages, find it *extremely* odd that the first three are considered valid, but the fourth is a syntax error (tested in Ruby 2.3.4 + 2.5.0, Rubocop's parser for 2.3):

~~~ ruby
# 1
foo = -> {}
foo.
  call

# 2
foo = -> {}
foo.
  # comment
  call

# 3
foo = -> {}
foo
  .call

# 4
foo = -> {}
foo
  # comment
  .call
~~~

Any chance 4 could be fixed? (It looks more like a parser/spec bug than anything.)



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>