From: "Jesús Gabriel y Galán" Date: 2012-09-28T20:56:51+09:00 Subject: Re: Suma de elementos de un array, problema 2012/9/28 Pablo D. : > Hola, estoy empezando con Ruby y estoy haciendo unos tutoriales que > encontré en http://rubytutorial.wikidot.com En el capítulo que habla > sobre Arrays, uno de los ejercicios propuestos es sumar los elementos > que hay almacenados en un vector. > > Había planteado el programa de la siguiente manera pero todo el rato > tengo errores que no sé como depurar. > > 1-He creado una función que suma dos números para sumar el componente > del array correspondiente más las sumas anteriores. > > 2-He inicializado el sumador parcial (buffer) como 0, para que en la > primera iteración se almacene el primero de los componentes del vector. > > 3-He intentado hacer la suma de los elementos del vector. > > ------------------------ > > vect = [1, 2, 3, 4, 5] > > def suma(num,buffer) > suma = num + buffer > return suma > end > > parcial=0 > > vect.each do |vect| > sumador = suma(vect,parcial) > parcial = sumador > return sumador > end > > -------------------- > > El error que me da es el siguiente: > > unapruebamas.rb:174:in `block in
': unexpected return > (LocalJumpError) > from unapruebamas.rb:171:in `each' > from unapruebamas.rb:171:in `
' > > La fila 171 se corresponde con la de VECT.EACH.... > > Estoy bastante perdido. Agradecería cualquier tipo de pista :) Hola Pablo. Lo primero es que esta lista es en ingles, no sé si en general tendrás muchas respuestas. Lo segundo, return es para salir de una funcion, no lo puedes usar en un bloque. Yo creo que simplemente quitandolo ya te funcionaria. Suerte con el Ruby, sigue adelante y verás cómo luego hay otras maneras más sencillas de hacer estas tareas. Jesus.