Obteniendo Datos

Hasta ahora hemos visto métodos como puts que escriben en la pantalla. ¿Cómo podemos hacer para recibir datos de los usuarios? Para esto podemos usar lo métodos gets (get string) y chomp. El ejemplo p005metodos.rb nos muestra su uso:

 1 # gets y chomp
 2 
 3 puts "En que ciudad vives?"
 4 
 5 # STDOUT - constante global - la salida estándar del programa
 6 # flush - vacía los datos almacenados temporalmente hacia el 
 7 # sistema operativo
 8 STDOUT.flush
 9 
10 # gets - regresa una cadena y el caracter '\n' 
11 # chomp - elimina el caracter  '\n'
12 ciudad = gets.chomp
13 puts "La ciudad es " + ciudad
14 
15 # para saber en qué objeto te encuentras
16 puts self

Cuando ejecutes el ejemplo anterior en SciTE, haz click en la ventana y escribe el nombre de tu ciudad.

STDOUT es una constante glabal representa la salida estándar del programa. flush vacía todos los datos de IO al sistema operativo.

chomp es un método de las cadenas y gets recupera cadenas de tu teclado. Debes haberte dado cuenta que gets regresa una cadena y el caracter \n. chomp elimina este caracter.

Los datos pueden venir de muchas fuentes. En la típica aplicación Rails vienen de la base de datos. Como desarrollador Rails, puede ser que te encuentres usando relativamente pocas de estas fuentes porque Rails maneja estos datos por ti y por tus usuarios. Cuando envías datos a través del teclado, va a ser generalmente en una forma Web.

Tarea: Escribe un programa (p006ftoc.rb) que pida la temperatura en grados Fahrenheit y despliegue el equivalente en grados Centigrados. Para darle formato al resultado a, digamos, 2 lugares decimales, podemos usar el método format del módulo kernel. Por ejemplo, si x = 45.5678, format("%.2f", x) da como resultado 45.57. Otra manera es usar el método round: puts(x*100).round.