El método map en Ruby
El método map
es uno de los métodos enumerables más populares de Ruby. Se utiliza para transformar un array en otra.
Códigos de ejemplo:
numbers = [2, 4, 6]
doubles = numbers.map do |n|
n * 2
end
puts doubles
Producción :
[4, 8, 12]
El código anterior mapea a través del array numbers
, multiplica cada elemento por dos y produce un nuevo array doubles
. Así funciona el método map
.
Tenga en cuenta que también hay un método collect
, un alias de map
, y ambos funcionan de forma similar. Podemos demostrarlo reescribiendo el código anterior utilizando el método collect
.
Códigos de ejemplo:
numbers = [2, 4, 6]
doubles = numbers.collect do |n|
n * 2
end
puts doubles
Producción :
[4, 8, 12]
Aunque el método map
produce un nuevo array, también hay un map!
(es decir, un mapa con un bang) que funciona igual que map
pero también muta el array original.
Códigos de ejemplo:
numbers = [2, 4, 6]
doubles = numbers.map! do |n|
n * 2
end
puts doubles
puts numbers
Producción :
[4, 8, 12]
[4, 8, 12]
Mirando el resultado anterior, notará que la matriz original numbers
ha sido mutado y ahora tiene el mismo valor que doubles
.