Connaissez-vous la méthode Enumerable#pluck ?
Saviez-vous que la méthode `#pluck` pouvait s'utiliser avec un Enumerable ? Et bien moi non.
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)