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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Qué hace esta palabra y cómo devuelvo un return (Ruby).
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Qué hace esta palabra y cómo devuelvo un return (Ruby).  (Leído 2,426 veces)
Saito_25

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Qué hace esta palabra y cómo devuelvo un return (Ruby).
« en: 30 Marzo 2015, 02:01 am »

Tengo dos preguntas, la primera es qué hace esto: numero = Integer(gets.chomp).

A ver, sé que en un principio le estoy dando a la variable numero un valor que agregará el usuario, pero el "Integer" me está dejando KO. No sé qué hace ahí, para qué sirve, ni si es necesario.

Ahora bien, tengo hecho algo así:

Código
  1. numero = Integer(gets.chomp)
  2. if numero < 100
  3.   print "Número es menor a 100".
  4. return
  5. elsif numero > 100
  6.    print "Número es mayor a 100."
  7. return
  8. else
  9.    print "El número es 100"
  10. return
  11. end

En la consola, me devuelve el string más un fallo que dice unexpected return. Solo puse el return ahí por ponerlo, para ver qué hace... no sé porqué da fallo. También, ¿Cómo hago para imprimir el valor de return por pantalla?

Gracias, siento las molestias.

Mod: los códigos deben ir en etiquetas GeSHi


« Última modificación: 30 Marzo 2015, 02:33 am por engel lex » En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Qué hace esta palabra y cómo devuelvo un return (Ruby).
« Respuesta #1 en: 30 Marzo 2015, 02:42 am »

Integer() transforma un número en formato texto a un entero (Integer es entero en español). Dado que gets.chomp es la entrada de datos por teclado de Ruby, ésta solo acepta textos, por ello, cuando se ingresan números en realidad se ingresa un texto que tiene un número y debe de convertirse a número (entero o real).  Por otro lado, return no almacena ningún valor. En esos if su uso es innecesario. Se usa return cuando se desea devolver un valor desde una función (def).


Saludos.


« Última modificación: 30 Marzo 2015, 02:45 am por Gus Garsaky » 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 Desconectado

Mensajes: 83


Ver Perfil
Re: Qué hace esta palabra y cómo devuelvo un return (Ruby).
« Respuesta #2 en: 30 Marzo 2015, 12:36 pm »

¡Oh, ya veo! Muy buena explicación, gracias, de verdad ayuda bastante todo esto.

Aun así, me surge una nueva duda. Si el error me lo da porque estoy ingresando un valor de string, en vez de numérico, si hago esto:
Código
  1. numero = gets.chomp
  2. numero.to_i
  3. if numero < 100
  4. print "#{numero} es menor a 100."
  5. end

Debería de transformarse la variable número a un valor numérico, pero me da error. ¿Qué sucede, qué hago mal?
« Última modificación: 30 Marzo 2015, 13:00 pm por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Qué hace esta palabra y cómo devuelvo un return (Ruby).
« Respuesta #3 en: 30 Marzo 2015, 13:05 pm »

qué hago mal?

La función to_i devuelve un valor, es solo eso, un valor Integer, si no asignas el valor a la variable numero entonces la variable seguirá siendo de tipo String.

Puedes realizar la conversión del datatype de manera "persistente":
Código
  1. numero = gets.chomp  # String
  2. numero = numero.to_i # Integer
  3.  
  4. # O la asignación de un valor Integer directamente convirtiendo la entrada de datos del teclado...
  5. # numero = gets.chomp.to_i
  6.  
  7. if numero < 100
  8.   print "#{numero} es menor a 100."
  9. end

O puedes realizar una conversión "temporal" en la expresión de la comparación que solo tendrá efecto durante la evaluación:
Código
  1. numero = gets.chomp # String
  2.  
  3. if numero.to_i < 100
  4.   print "#{numero} es menor a 100."
  5. end

PD: Cuando publiques código debes respetar los normas y utilizar las etiquetas GeShi, se te ha avisado en varias ocasiones, trata de que no vuelva a ocurrir... LEE MI FIRMA.
Cualquier futuro mensaje que incumpla dicha norma podrá ser bloqueado o eliminado sin previo aviso.


Saludos!
« Última modificación: 30 Marzo 2015, 14:40 pm por Eleкtro » En línea

Saito_25

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Re: Qué hace esta palabra y cómo devuelvo un return (Ruby).
« Respuesta #4 en: 30 Marzo 2015, 19:36 pm »

¡¡¡Putas etiquetas!!! ¡¡¡Y puto yo!!! Nunca me acuerdo joee...  :-(

Gracias por la ayuda, intentaré ponerlo en las etiquetas la próxima vez, por dios... espero acordarme...
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Por favor..... alguien que me diga como se hace esta pagina « 1 2 »
Diseño Gráfico
jamarchi 17 10,138 Último mensaje 16 Septiembre 2007, 03:38 am
por H4RR13R
Como hacer /una/palabra/ en vez de ?1=una&2=palabra « 1 2 3 »
PHP
dimitrix 20 9,577 Último mensaje 14 Enero 2010, 00:24 am
por dimitrix
Como hace esta increible pagina para centrar su contenido?
Desarrollo Web
octavioxd 5 3,767 Último mensaje 11 Julio 2010, 15:37 pm
por Nakp
como se hace esta animacion
Desarrollo Web
RedZer 2 2,149 Último mensaje 27 Abril 2011, 17:20 pm
por RedZer
Como devuelvo un carácter desde una función.
Programación C/C++
Felipe_Henriquez 5 7,512 Último mensaje 13 Diciembre 2011, 06:12 am
por Ferno
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines