Connaissez-vous la méthode Enumerable#pluck ?

Saviez-vous que la méthode `#pluck` pouvait s'utiliser avec un Enumerable ? Et bien moi non.

Connaissez-vous la méthode Enumerable#pluck ?

Dans mes projets RubyOnRails il m'est arrivé à plusieurs reprises de récupérer un tableau de Hash et de devoir le transformer pour ne retourner que certaines des clés qui m'étaient nécessaires.

Jusqu'ici j'avais pris l'habitude d'utiliser la méthode Enumerable#map pour parcourir mon tableau et de sélectionner pour chaque Hash les clés dont j'avais besoin.

grocery_list = [
  { name: 'Tomatoes', quantity: 5, comments: 'Take the red ones!' },
  { name: 'Oranges', quantity: 3, comments: 'From Spain' },
  # ...
]

grocery_names = grocery_list.map { |ingredient| ingredient[:name] }

Mais grâce à un article Santosh Wadghule, j'ai appris que la méthode #pluck pouvait aussi être utilisée pour extraire les clés présentes dans un tableau de Hash.

grocery_list = [
  { name: 'Tomatoes', quantity: 5, comments: 'Take the red ones!' },
  { name: 'Oranges', quantity: 3, comments: 'From Spain' },
  # ...
]

grocery_names = grocery_list.pluck(:name)

Liens

Rails adds Enumerable#pick method
Rails 6 adds a new method pick method in Enumerable module.

Subscribe to #Blog

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe