elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Cuál puede ser el problema en este código [Ruby]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cuál puede ser el problema en este código [Ruby]  (Leído 2,111 veces)
Saito_25

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Cuál puede ser el problema en este código [Ruby]
« en: 4 Abril 2015, 19:42 pm »

Bueno, siguiendo un ejemplo de un manual, hice esto:

Código
  1. lineas = "Erase una vez\nen un lugar lejano...\nFin\n"
  2. num = 0
  3. lineas.each do |linea|
  4. num += 1
  5. print "Line #{num}: #{linea}"
  6. end
  7.  

Pero me da el siguiente error:
undefined method `each' for "Erase una vez\nen un lugar lejano...\nFin\n":String (NoMethodError)

Espero vuestra ayuda. Gracias.


En línea

Slava_TZD
Wiki

Desconectado Desconectado

Mensajes: 1.466

♪ [8675309] ♪


Ver Perfil WWW
Re: Cuál puede ser el problema en este código [Ruby]
« Respuesta #1 en: 4 Abril 2015, 20:13 pm »

each solo vale para los arrays creo, no se mucho de ruby, prueba así:

Código
  1. lineas = "Erase una vez\nen un lugar lejano...\nFin\n"
  2. num = 0
  3. lineas.each_line do |linea|
  4. num += 1
  5. print "Line #{num}: #{linea}"
  6. end


En línea


The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.
Saito_25

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Re: Cuál puede ser el problema en este código [Ruby]
« Respuesta #2 en: 4 Abril 2015, 20:23 pm »

Funcionó, gracias.

Bueno, tengo otra duda, esta algo más complicada. (Dudaba entre si ponerlo aquí o hacer otro tema. Pensé que lo mejor sería aprovechar este  :huh:)


class Pollas
   def initialize
      num = 0
      numeros = []
      loop do
         palabra_ingresada = gets.chomp
         if palabra_ingresada != "Exit"
            palabra_ingresada = palabra_ingresada.to_f
            if palabra_ingresada <= 0 or palabra_ingresada >= 0
               puts "Es válido"
            else
               puts "No has ingresado un valor correcto"
               break
               
            end
         end

      end
   end
end


Bueno, sencillamente quiero que el usuario ingrese una cantidad de números que quiera, hasta que ponga Exit. Si pone un número, este se transformará en un "flotante", decimal, y si no pone Exit o un número, dirá que el valor no es válido. Luego quiero hacer un par de cosas con esos números, pero por ahora no consigo hacer lo que ya he dicho, me da error, y no tengo ni idea de por qué.

Siento las molestias.
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: Cuál puede ser el problema en este código [Ruby]
« Respuesta #3 en: 4 Abril 2015, 20:35 pm »

Respecto a la pregunta principal, solo tienes un string (un string multi linea), no puedes iterar un string con el método each, ya que each es para un array (class que incluya el módulo Enumerable).

El método each_line internamente hace un split generando un array de string, es lo mismo que esto:

Código
  1. lineas = "Erase una vez\nen un lugar lejano...\nFin\n"
  2. num = 0
  3.  
  4. lineas.split("\n").each do |linea|
  5. num += 1
  6. print "Line #{num}: #{linea}\n"
  7. end

Avisé sobre respetar la norma de las etiquetas GeShi, lo siento pero sabes que ya van muchas veces :-/, puedes formular de nuevo la duda en otro post siguiendo las normas de publicación.
Tema Cerrado.


« Última modificación: 4 Abril 2015, 20:43 pm por Eleкtro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Cual es el error en este código?
Programación C/C++
Draklit 5 3,627 Último mensaje 27 Mayo 2010, 16:56 pm
por Draklit
Se puede optimizar este codigo ?
PHP
nobo 6 3,606 Último mensaje 5 Marzo 2012, 22:41 pm
por nobo
[Resuelto] ¿Por que este código de ruby congela Kali Linux completamente?
Programación General
GreenTick 3 2,633 Último mensaje 23 Junio 2016, 16:36 pm
por engel lex
cual es el error en este codigo en el lenguaje c??
Programación C/C++
fedemaxrul 1 1,905 Último mensaje 19 Noviembre 2016, 02:04 am
por _Slash_
¿Cuál es la función de este código fuente?
Programación General
TheDemoniox 1 2,086 Último mensaje 7 Febrero 2017, 17:33 pm
por Borito30
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines