From: "marcandre (Marc-Andre Lafortune)" Date: 2013-05-30T01:32:07+09:00 Subject: [ruby-core:55200] [ruby-trunk - Bug #8457] Function arguments: Is this intended? Issue #8457 has been updated by marcandre (Marc-Andre Lafortune). As an additional note, this affects some methods of Enumerable when yielding multiple arguments. For example: def each; yield 1, 2, bar: 3; end include Enumerable each{|a, *b, **c| p a, b, c} # => 1, [2], {:bar => 3}: ok detect{|a, *b, **c| p a, b, c} # => 1, [2, {:bar => 3}], {}: should be the same, no? ---------------------------------------- Bug #8457: Function arguments: Is this intended? https://bugs.ruby-lang.org/issues/8457#change-39560 Author: boris_stitnicky (Boris Stitnicky) Status: Open Priority: Normal Assignee: matz (Yukihiro Matsumoto) Category: core Target version: ruby -v: 2.0.0 Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN a = [1, 2, x: 3] a.tap { |*p, q| a.clear.concat p } #=> [1, 2] but a = [1, 2, x: 3] a.tap { |*p, **q| a.clear.concat p } #=> [[...]] and also a = [1, 2] a.tap { |*p| a.clear.concat p } #=> [[...]] ??? -- http://bugs.ruby-lang.org/