From: nobu@... Date: 2015-09-16T00:18:26+00:00 Subject: [ruby-core:70824] [Ruby trunk - Bug #11528] [Rejected] Possible parsing bug. Possibly just confusing. Issue #11528 has been updated by Nobuyoshi Nakada. Description updated Status changed from Open to Rejected ---------------------------------------- Bug #11528: Possible parsing bug. Possibly just confusing. https://bugs.ruby-lang.org/issues/11528#change-54204 * Author: Antha Auciello * Status: Rejected * Priority: Normal * Assignee: * ruby -v: 2.2.2p95 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- Not sure if this is intentional behavior but I found it confusing: code: ~~~ruby 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"}] ~~~ -- https://bugs.ruby-lang.org/