Actions
Bug #11528
closedPossible parsing bug. Possibly just confusing.
    Bug #11528:
    Possible parsing bug.  Possibly just confusing.
  
Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
2.2.2p95
Description
Not sure if this is intentional behavior but I found it confusing:
code:
def render(args)
  p args.to_a
end
print 'functionally (without parentheses): '
render "foobar".length\
        .to_s(2)\
        .split('')\
        .map do |d|
  {digit: d}
end
print 'functionally (with parentheses): '
render("foobar".length\
        .to_s(2)\
        .split('')\
        .map do |d|
         {digit: d}
       end)
print 'with an intermediate variable: '
data = "foobar".length\
        .to_s(2)\
        .split('')\
        .map do |d|
  {digit: d}
end
render data
output:
functionally (without parentheses): ["1", "1", "0"]
functionally (with parentheses): [{:digit=>"1"}, {:digit=>"1"}, {:digit=>"0"}]
with an intermediate variable: [{:digit=>"1"}, {:digit=>"1"}, {:digit=>"0"}]
  
Actions