Actions
Bug #12104
closedProcs keyword arguments affect value of previous argument
Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
Tested in 2.3.0 and 2.2.3
Description
This seems like a bug to me:
2.3.0 :001 > p = Proc.new {|nodes, match_array: false| puts nodes.inspect } => #<Proc:0x007fa52c0659e0@(irb):1> 2.3.0 :002 > p.call([]) nil => nil 2.3.0 :003 > p.call([], match_array: true) [] => nil
When I try the same thing in a method I get the behavior I would expect:
2.3.0 :004 > def foo(nodes, match_array: false) 2.3.0 :005?> puts nodes.inspect 2.3.0 :006?> end => :foo 2.3.0 :007 > foo([]) [] => nil 2.3.0 :008 > foo([], match_array: true) []
Actions