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:
def fun()
a =STDIN.gets
a.to_i
return a
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?
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:
def funcion(arg)
arg.to_i
return arg
end
Sin argumento, y pidiendo el dato en la misma función:
def funcion()
print "Introduce algo: "
arg = STDIN.gets #Tambien se puede usar gets.chomp
arg.to_i
return arg
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:
require 'unidad'
Cita de: .:WindHack:. 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:
def funcion(arg)
arg.to_i
return arg
end
Sin argumento, y pidiendo el dato en la misma función:
def funcion()
print "Introduce algo: "
arg = STDIN.gets #Tambien se puede usar gets.chomp
arg.to_i
return arg
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:
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?
Cita de: Daemon Freedom en 3 Julio 2010, 17:21 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.
¿Algún consejo para un novato? Se ve que entiendes. Solo te puedo decir que vengo de programar en C...