La méthode map en Ruby
La méthode map
est l’une des méthodes énumérables les plus populaires de Ruby. Il est utilisé pour transformer un tableau en un autre.
Exemples de codes :
numbers = [2, 4, 6]
doubles = numbers.map do |n|
n * 2
end
puts doubles
Production :
[4, 8, 12]
Le code ci-dessus mappe à travers le tableau numbers
, multiplie chaque élément par deux et produit un nouveau tableau doubles
. C’est ainsi que fonctionne la méthode map
.
Notez qu’il existe également une méthode collect
, un alias pour map
, et les deux fonctionnent de manière similaire. Nous pouvons le montrer en réécrivant le code ci-dessus en utilisant la méthode collect
.
Exemples de codes :
numbers = [2, 4, 6]
doubles = numbers.collect do |n|
n * 2
end
puts doubles
Production :
[4, 8, 12]
Bien que la méthode map
produise un nouveau tableau, il existe également une méthode map
(c’est-à-dire une carte avec un bang) qui fonctionne de la même manière que map
mais modifie également le tableau d’origine.
Exemples de codes :
numbers = [2, 4, 6]
doubles = numbers.map! do |n|
n * 2
end
puts doubles
puts numbers
Production :
[4, 8, 12]
[4, 8, 12]
En regardant la sortie ci-dessus, vous remarquerez que le tableau numbers
d’origine a été muté et a maintenant la même valeur que doubles
.