tengo una matriz:
all_ages = ["11", "9", "10", "8", "9"]y quiero convertirlo en una matriz de números enteros para que sea más fácil agregarlos todos juntos. Cualquier ayuda muy apreciada, buscando soluciones de nivel uno.
Se puede llamar a Enumerable#sum con un bloque que le dice a Ruby cómo sumar los elementos de la matriz, en este caso, llamar primero a String#to_i en el elemento.
all_ages = ["11", "9", "10", "8", "9"] all_ages.sum(&:to_i) #=> 47all_ages = ["11", "9", "10", "8", "9"]Código
p all_ages.map(&:to_i).sumO
p all_ages.map { |x| x.to_i }.sumProducción
47Aquí hay un enfoque diferente que también puede ser útil para agregar a su arsenal:
all_ages = ["11", "9", "10", "8", "9"] def sum_str_to_i (array) total = 0 array.each {|x| total += x.to_i} total end sum_str_to_i(all_ages) #=> 47O, si no desea definir un nuevo método:
total = 0 all_ages.each {|x| total += x.to_i} total #=> 47