Tag Archive for notar

Salida y entrada de datos en consola con Ruby

El kernel de Ruby carga consigo una buena cantidad de métodos entrada salida, conocidos también como métodos I/O (por Input/Output), entre ellos tenemos gets, put, print, printf, putc y algunos otros que están más relacionados con el manejo de archivos, tópico que veremos más adelante en el curso.

En este artículo veremos algunos de ellos, cabe mencionar que éstos métodos, como su nombre lo indica, sirven para recibir o imprimir datos a través de la consola para interactuar con el usuario.

El más sencillo tiene que ser print, de hecho print es una impresión sencilla, si ejecutas el siguiente programa en tu consola, deberás ver el mensaje en ella:

print "Hola mundo"

Si ejecutaras dos veces la anterior instrucción, notarías que el texto sale pegado, a menos que dentro de las mismas cadenas coloque espacios. En realidad la mayoría de las veces requerimos de que cada impresión de pantalla salga en una línea diferente de la consola, y eso es precisamente lo que hace puts.

puts "Hola"
puts "mundo"

Ahora bien, si ejecutas el programa anterior, verás cada impresión en una línea de la consola diferente.

Para terminar con las impresiones de pantalla, veamos algo con lo que los programadores en C, se sentirán más cómodos, se llama printf y funciona así:

name = "Uriel"
edad = 18
printf "Me llamo %-10s y tengo %3d", name, edad

El ejemplo anterior imprimirá mi nombre con máximo 10 caracteres y mi edad en máximo 3 dígitos, %d es para enteros, %s para cadenas y %f para flotantes.

Ahora bien veamos como aceptar datos del usuario desde la consola:

nombre = gets

Creo que no podría ser más sencillo, el método gets es el que nos permite recibir información del usuario, gets, siempre recibe una cadena y termina de recopilar la información cuando existe un salto de línea. El problema con gets es que devuelve una cadena que si ingreso mi nombre se vería así “Uriel \n” lo cual no es del todo bueno, pero tiene solución y es a través del método chomp.

nombre = gets.chomp

Después de chomp, mi nombre regresaría algo así “Uriel”.

Por último, me parece un excelente momento para que probemos un programa más concreto, creemos uno que nos salude:

print "Dime tu nombre: "
nombre = gets.chomp
puts "Hola #{nombre}, un gusto conocerte"

Del código anterior, lo único que no hemos visto es el operador #{} y me parece un excelente momento para explicarlo, leyendo el código podrás notar que es el operador de concatenación en Ruby, así pues, cuando necesites combinar el valor de una variable con una cadena, deberás colocar la variable dentro de las llaves del operador anterior.

Bien, con eso quedamos con los métodos de entrada salida y pasaremos en el siguiente artículo a estudiar los arreglos en Ruby.