From: shevegen@... Date: 2019-01-07T11:10:50+00:00 Subject: [ruby-core:90914] [Ruby trunk Misc#15514] Add documentation for implicit array decomposition Issue #15514 has been updated by shevegen (Robert A. Heiler). Agreed. ---------------------------------------- Misc #15514: Add documentation for implicit array decomposition https://bugs.ruby-lang.org/issues/15514#change-76105 * Author: sos4nt (Stefan Sch����ler) * Status: Open * Priority: Normal * Assignee: ---------------------------------------- The documentation for [Array Decomposition](http://ruby-doc.org/core/doc/syntax/assignment_rdoc.html#label-Array+Decomposition) says: _"[...] you can decompose an Array during assignment using parenthesis [sic]"_ and gives an example: ```ruby (a, b) = [1, 2] p a: a, b: b # prints {:a=>1, :b=>2} ``` But ��� as we all know ��� it's also possible _without_ parentheses, i.e. ```ruby a, b = [1, 2] p a: a , b: b #=> {:a=>1, :b=>2} ``` This also applies to block arguments when yielding multiple values vs. yielding a single array: ```ruby def foo yield 1, 2 end def bar yield [1, 2] end foo { |a, b| p a: a, b: b } #=> {:a=>1, :b=>2} bar { |a, b| p a: a, b: b } #=> {:a=>1, :b=>2} ``` In both cases, parentheses are optional. This implicit array decomposition could be quite surprising for newcomers. The documentation should cover it. -- https://bugs.ruby-lang.org/ Unsubscribe: