Feature #19002
Updated by inopinatus (Joshua GOODALL) over 2 years ago
I'm renovating some 2.x-era code that relied heavily on autosplat for block kwargs. As we all know, this throws an ArgumentError in Ruby 3: ``` ruby ary = [ { foo: 42, bar: 101 }, { foo: 99, bar: 123 } ] ary.map { |foo:, bar:| foo+bar } #=> ArgumentError ``` The nicest solution I could find so far is ``` ruby module Enumerable def splat each { |arg| yield **arg } end end ``` and then ``` ruby ary.map.splat `ary.map.splat { |foo:, bar:| foo+bar } #=> [143, 222] ``` 222]` and I present this as a feature suggestion.