Estoy aprendiendo Ruby, así que le pido disculpas si esto es demasiado nuevo para mí por aquí, pero no puedo descifrarlo del libro de los picos (probablemente no lo lea con cuidado). De todos modos, si tengo una matriz de este modo:¿Cómo modifico una matriz mientras estoy iterando sobre ella en Ruby?
arr = [1,2,3,4,5]
... y quiero, por ejemplo, multiplicar cada valor de la matriz por 3, he calculado que hacer lo siguiente:
arr.each {|item| item *= 3}
... no obtendré lo que quiero (y entiendo por qué, no estoy modificando la matriz en sí).
Lo que no entiendo es cómo modificar la matriz original desde dentro del bloque de código después del iterador. Estoy seguro de que esto es muy fácil.
Si realmente necesita modificar cada elemento, usar el mapa sería definitivamente más elegante, en mi humilde opinión. – fresskoma
¡Y si quiere modificar la matriz en sí, use map! en su lugar –