Hola, desde ya muchas gracias por leer.
Estoy aprendiendo Ruby y no puedo creer que me estoy volviendo loco y no encuentro el error o lo que pasa con esto.
Quiero sumar los elementos de una array para probar EACH pero me arroja error.
Este es mi código:
puts "Ingrese 5 numeros separados por un espacio"
numeros = gets.chomp
numeros = numeros.split (" ")
suma = 0
numeros.each do |num|
suma = suma + num
puts suma
end
Me estoy volviendo loco, probé de mil maneras distintas, incluso poniendo += para hacer más corto el código pero no encuentro como hacerlo.
Lo que me arroja el intérprete es:
CitarD:/Users/Administrador/Desktop/probando.rb:6:in `+': String can't be coerced int
o Fixnum (TypeError)
from D:/Users/Administrador/Desktop/probando.rb:6:in `block in <main>'
from D:/Users/Administrador/Desktop/probando.rb:5:in `each'
from D:/Users/Administrador/Desktop/probando.rb:5:in `<main>'
Es una tontería seguro, pero no puedo aprender ni seguir adelante :(.
Desde ya muchas gracias!!
Cita de: @shellroot en 25 Noviembre 2013, 20:00 PM
Es porque cuando pides el ingreso de los números,
numeros = gets.chomp
Los toma como si fuera string, tienes que convertir los valores a enteros,..., por ejemplo:
#!/usr/local/bin/ruby -w
puts "Ingrese 5 numeros separados por un espacio"
numeros = "1 2 3 4 5 6 7 8 9"
numeros = numeros.split(" ")
suma = 0
numeros.each do |num|
suma += num.to_i
end
puts suma
Ufff, que tontería era!!!
MUCHISIMAS GRACIAS POR RESPONDER Y POR LA RÁPIDEZ!!
Saludos!!