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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  dudas en Ruby
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: dudas en Ruby  (Leído 2,517 veces)
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
dudas en Ruby
« en: 3 Julio 2010, 14:56 pm »

Empecé ayer con Ruby (Me lo piden en cierto sitio  :-X) y empecé a estudiar con el irb bajo gnu/linux.

Tengo algunas dudas, espero que me las puedan responder:

1. Al crear una función, no hace lo que yo quiero.

escribo:

Código
  1. def fun()
  2. a =STDIN.gets
  3. a.to_i
  4. return a
  5. end

pero me devuelve siempre una cadena.

Lo que quiero hacer es introducir un número y que me lo devuelva como integer.

2. ¿Qué significa => nil ? Es que me aparece mucho pero ni idea..

3. ¿Cual es la directiva para incluir módulos y cuales son los mas usados?



« Última modificación: 3 Julio 2010, 15:01 pm por Daemon Freedom » En línea

.:WindHack:.

Desconectado Desconectado

Mensajes: 167

Prisionero de mi propia mente...


Ver Perfil WWW
Re: dudas en Ruby
« Respuesta #1 en: 3 Julio 2010, 17:04 pm »

Hola,

1. El problema con la función es que no declaras el argumento y estás manejando STDIN con un dato que prácticamente no existe. Si bien, no quieres declarar el argumento debes de tener en cuenta que antes de usar STDIN.gets debes de pedir el dato.

Con argumento:

Código
  1. def funcion(arg)
  2.  arg.to_i
  3.  return arg
  4. end

Sin argumento, y pidiendo el dato en la misma función:

Código
  1. def funcion()
  2.  print "Introduce algo: "
  3.  arg = STDIN.gets #Tambien se puede usar gets.chomp
  4.  arg.to_i
  5.  return arg
  6. end

2. nil. Ese es el resultado de la expresión. Significa “absolutamente nada” en Ruby.

3. Creo que la directiva que se usa es:
Código
  1. require 'unidad'


En línea

Follow me on Twitter: @windhack | Visit my website: www.daw-labs.com

"The only thing they can't take from us are our minds."
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: dudas en Ruby
« Respuesta #2 en: 3 Julio 2010, 17:21 pm »

Hola,

1. El problema con la función es que no declaras el argumento y estás manejando STDIN con un dato que prácticamente no existe. Si bien, no quieres declarar el argumento debes de tener en cuenta que antes de usar STDIN.gets debes de pedir el dato.

Con argumento:

Código
  1. def funcion(arg)
  2.  arg.to_i
  3.  return arg
  4. end

Sin argumento, y pidiendo el dato en la misma función:

Código
  1. def funcion()
  2.  print "Introduce algo: "
  3.  arg = STDIN.gets #Tambien se puede usar gets.chomp
  4.  arg.to_i
  5.  return arg
  6. end

2. nil. Ese es el resultado de la expresión. Significa “absolutamente nada” en Ruby.

3. Creo que la directiva que se usa es:
Código
  1. require 'unidad'

Todavía no me acostumbro a esto de no declarar variables :S

Entonces, con hacer def funcion(argumento) ya puedo manejar argumento como local de funcion?
En línea

.:WindHack:.

Desconectado Desconectado

Mensajes: 167

Prisionero de mi propia mente...


Ver Perfil WWW
Re: dudas en Ruby
« Respuesta #3 en: 3 Julio 2010, 17:29 pm »

Todavía no me acostumbro a esto de no declarar variables :S

Entonces, con hacer def funcion(argumento) ya puedo manejar argumento como local de funcion?

Sí, claro.
Al declarar el argumento en la definición de la función ya puedes manejarlo como local de la misma.
En línea

Follow me on Twitter: @windhack | Visit my website: www.daw-labs.com

"The only thing they can't take from us are our minds."
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: dudas en Ruby
« Respuesta #4 en: 4 Julio 2010, 00:09 am »

¿Algún consejo para un novato? Se ve que entiendes. Solo te puedo decir que vengo de programar en C...
« Última modificación: 13 Julio 2010, 06:50 am por Daemon Freedom » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dudas acerca de Ruby on Rails comparado con PHP/Symfony
Desarrollo Web
T0p1t0 2 3,112 Último mensaje 15 Septiembre 2013, 02:51 am
por becarlos
Dudas sobre lenguaje Ruby
Programación General
pr0t0t1p3 1 2,414 Último mensaje 5 Junio 2017, 19:27 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines