EniDev

Guías sobre temas de bases de datos y programación


Project maintained by Hosted on GitHub Pages — Theme by mattgraham

gets

Ruby

Los desarrolladores a menudo tenemos la necesidad de interactuar con los usuarios, ya sea para obtener datos o para proporcionar algún tipo de resultado. La mayoría de los programas utilizan cuadros de diálogos como una forma de pedirle al usuario que proporcione algún tipo de entrada. Mientras que Ruby nos proporciona una función incorporada para leer desde la entrada estándar del teclado: gets

Esta función gets primero toma la entrada del usuario y luego se evalúa la expresión, lo que significa que Ruby identifica automáticamente si el usuario ingresó. Por defecto los valores que se ingresan por la entrada estándar stdin lo almacena como un String, ejemplo:

puts "¿Cuál es tu número favorito?"  
STDOUT.flush  # esto es opcional es para limpiar los datos anteriores
numero = gets
puts numero.class # String

Como funciona internamente Gets en Ruby

Ejemplo: convertir explícitamente a entero:

puts "Ingrese un número: "
num = gets
puts num.class # output: String
puts "Ingrese un número: "
num = gets.to_i 
puts num.class # output: Integer
# otra opción más legible es:
puts "Ingrese un número: "
num = gets
puts num.to_i.class

Tomando múltiples entradas

En Ruby así como en varios lenguajes de programación, podemos tomar múltiples valores o entradas en una línea, para ello usaremos el método split().

SINTAXIS

str.split(pattern, limit)

Ejemplos:

puts "Ingresa dos valores: "

x, y = gets.split()
puts "Eje x: #{x}"
puts "Eje y: #{y}"
# ======== Otra forma
puts "Ingresa dos valores: "
a, b = gets.split()
puts 'Primer número %s y segundo número es %s' % [a, b]