[ruby-core:94728] [Ruby master Feature#15975] Add Array#pluck
From:
knu@...
Date:
2019-09-02 06:19:45 UTC
List:
ruby-core #94728
Issue #15975 has been updated by knu (Akinori MUSHA).
ActiveSupport has [Enumerable#pluck](https://api.rubyonrails.org/classes/Enumerable.html#method-i-pluck), so I don't think we want to diverge from that by adding a method with the same name in Array.
----------------------------------------
Feature #15975: Add Array#pluck
https://bugs.ruby-lang.org/issues/15975#change-81344
* Author: lewispb (Lewis Buckley)
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
----------------------------------------
Inspired by https://github.com/rails/rails/issues/20339
While developing web applications I've often wanted to quickly extract an array of values from an array of hashes.
With an array of objects, this is possible:
```rb
irb(main):001:0> require 'ostruct'
=> true
irb(main):002:0> [OpenStruct.new(name: "Lewis")].map(&:name)
=> ["Lewis"]
```
This PR adds Array#pluck allowing this:
```rb
irb(main):001:0> [ {name: "Lewis"} ].pluck(:name)
=> ["Lewis"]
```
without this PR:
```rb
irb(main):001:0> [ {name: "Lewis"} ].map { |item| item[:name] }
=> ["Lewis"]
```
Implemented here:
https://github.com/ruby/ruby/pull/2263
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>