Autor
|
Tema: [Ruby] Dónde está el fallo. (Leído 3,464 veces)
|
Saito_25
Desconectado
Mensajes: 83
|
Lo primero, etiqueta GeSHi, que sino se me olvida: class Numeros_Infernales def initialize num = 0 numeros = [] salir = "no" while salir != "Exit" palabra_ingresada = gets.chomp if palabra_ingresada != "Exit" palabra_ingresada = palabra_ingresada.to_f if palabra_ingresada <= 0 || palabra_ingresada >= 0 numeros.push(palabra_ingresada) else puts "No has introducido un valor válido" end else salir = "Exit" end end end end objeto = Numeros_Infernales.new() gets
Bien, el problema: No tengo ni idea. Me da error y creo que es en el segundo condicional, este: if palabra_ingresada <= 0 || palabra_ingresada >= 0 numeros.push(palabra_ingresada) else puts "No has introducido un valor válido" end
Sencillamente quiero que el usuario pueda ingresar valores hasta que ponga "Exit", entonces, cuando ese valor se ha ingresado, transferirlo a un arreglo, vector, array, cómo quiera que se llame, y más a delante haré cálculos con esos números, pero por ahora, consigo ingresar los valores sin que me salgan 1000 fallos por línea de código que pongo. Gracias por vuestra ayuda.
|
|
« Última modificación: 4 Abril 2015, 23:42 pm por Saito_25 »
|
En línea
|
|
|
|
Slava_TZD
Wiki
Desconectado
Mensajes: 1.466
♪ [8675309] ♪
|
Lo primero, etiqueta GeSHi, que sino se me olvida:
class Numeros_Infernales def initialize num = 0 numeros = [] salir = "no" while salir != "Exit" palabra_ingresada = gets.chomp if palabra_ingresada != "Exit" palabra_ingresada = palabra_ingresada.to_f if palabra_ingresada <= 0 || palabra_ingresada >= 0 numeros.push(palabra_ingresada) else puts "No has introducido un valor válido" end else salir = "Exit" end end end end objeto = Numeros_Infernales.new() gets
Bien, el problema: No tengo ni idea.
Me da error y creo que es en el segundo condicional, este:
if palabra_ingresada <= 0 || palabra_ingresada >= 0 numeros.push(palabra_ingresada) else puts "No has introducido un valor válido" end
El puto amo XDDDDDDDDDDD Ahora en serio que manual, vídeo o tutorial estás siguiendo?
|
|
|
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.
|
|
|
Usuario Invitado
Desconectado
Mensajes: 625
|
if palabra_ingresada <= 0 || palabra_ingresada >= 0 numeros.push(palabra_ingresada)
¿Estás intentando agregar números a un array siempre y cuando sea diferente a 0? Porque eso es lo que hace la condición anterior. Otra cosa, ¿podrías decir qué error te muestra? Si no estamos adivinando.
|
|
|
En línea
|
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
|
|
|
Saito_25
Desconectado
Mensajes: 83
|
Vamos por parte, estoy poniendo la etiqueta esa, GeSHi, pero no veo que funcione. Soy solo yo, ¿o vosotros tampoco la veis? Ahora bien, manual, muchos. He seguido uno que me pasó un usuario de esta comunidad, que era online, y con lo que he sacado de ahí, lo estoy intentando hacer lo que me he propuesto. Seguro que tengo fallos en todas partes, y de todo tipo, seguro que se puede hacer mucho más simple y sin comerse tanto la cabeza, pero, mi cara actual es esta: así que, ni de coña lo puedo hacer mejor. Lo que yo quiero es agregar a un array un valor numérico introducido por un usuario. Ese valor puede ser 0. Por eso pongo menor o igual, mayor o igual. Para que si me da 0 o un número menor o mayor se agregue. Al menos creo que es así como se debe hacer, no lo sé. Fallo recibido: Desde Sublime Text 2, al pulsar f7: C:/Users/Manuel/Documents/Ruby/nombre.rb:13: invalid multibyte char (US-ASCII) C:/Users/Manuel/Documents/Ruby/nombre.rb:13: invalid multibyte char (US-ASCII) C:/Users/Manuel/Documents/Ruby/nombre.rb:13: syntax error, unexpected $end, expecting keyword_end puts "No has introducido un valor válido"Al ejecutar el archivo .rb no tengo ni idea de qué sale, ya que se cierra la ventana nada más abrirla...
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.822
|
Ni he leido la pregunta ni los comentarios
Saito_25, ¿que broma es esta ya?, ¿que motivo te impide respetar las normas del foro?, yo y otros compañeros ya te hemos avisado muchas veces.
Cualquier comentario que hagas sin usar las etiquetas geshi será eliminado, no bloqueado, y si la burla sigue se reportará la petición de baneo, no hay más que hablar.
Tema cerrado.
Tema reabierto a petición del OP.
|
|
« Última modificación: 4 Abril 2015, 23:43 pm por Eleкtro »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.822
|
Trata de mostrar el error que tengas, cómo te han comentado no somos adivinos. Deduzo que te da un error del tipo Invalid multibyte char (UTF-8) en esta linea: puts "No has introducido un valor válido"
la á. Si ese es el error al que te refieres, el motivo es porque estás utilizando un set de caracteres incompatible con al set de caracteres de la codificación que tengas declarada en la cabecera de tú script, cómo no tienes ninguna codificación declarada en el script que has mostrado, por defecto Ruby 2.x utiliza la codificación UTF-8 (en Ruby 1.x es ASCII). Añade esto en la cabecera del script: # -*- coding: WINDOWS-1252 -*-
Saludos
|
|
« Última modificación: 5 Abril 2015, 00:10 am por Eleкtro »
|
En línea
|
|
|
|
Saito_25
Desconectado
Mensajes: 83
|
Intenté buscar entre los iconos alguna cara que expresara la mía, pero... no pude encontrarla, supongo que esta es la que más se le acerca . Bueno, hace poco bajé de la versión de Ruby 2.no sé que a la 1.9 En la versión 2.no sé que, parece que si se puede poner tildes... Si no me lo llegas a decir, estoy liado con esto años. Bien, disculpad las molestias.
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.822
|
No me ha quedado del todo claro jeje, ¿entonces ese era el error al que te referías?
Saludos!
|
|
|
En línea
|
|
|
|
Saito_25
Desconectado
Mensajes: 83
|
Yo antes tenía la última versión de Ruby, en esa puedes agregarle tildes a las palabras sin ningún problema. Es más, después en la consola te las muestra. Pero como quiero crear juegos, me bajé a la versión 1.9 y en esa, por lo visto, no se puede agregar tildes. En fin, le quité la tilde al string, ya que aunque con tu código me sirvió el programa, las tildes se mostraban... de una forma muy rara, y ya funcionó perfectamente. Quedó esto: class Numeros_Infernales def initialize numeros = [] salir = "no" while salir != "Exit" pal = gets.chomp if pal != "Exit" pal = pal.to_f if pal > 0 || pal < 0 numeros.push(pal) end else salir = "Exit" end end numeros.each {|numero| puts numero ** 2} end end objeto = Numeros_Infernales.new() gets
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Donde esta el fallo?
Software
|
stars
|
1
|
1,553
|
31 Diciembre 2004, 12:59 pm
por fffher
|
|
|
backtrack4 ¿donde está el fallo?
Wireless en Linux
|
jomafusan
|
2
|
2,117
|
18 Septiembre 2010, 00:24 am
por zydas
|
|
|
Donde esta el fallo? :S
Análisis y Diseño de Malware
|
RaGGa_Hax
|
2
|
2,634
|
26 Septiembre 2010, 01:14 am
por [L]ord [R]NA
|
|
|
Formulario de contacto..... Donde está el fallo??????
« 1 2 »
Desarrollo Web
|
WiseHidden
|
10
|
5,014
|
3 Octubre 2011, 21:27 pm
por WiseHidden
|
|
|
(solucionado) [Ruby] Comprobar si un archivo está abierto por un proceso ???
Scripting
|
Eleкtro
|
6
|
7,909
|
6 Marzo 2012, 22:53 pm
por Eleкtro
|
|