Menu
Coddy logo textTech

¿Qué es un Rango?

Parte de la sección Lógica y flujo del Journey de Ruby de Coddy — lección 6 de 56.

Ya has usado rangos con bucles for y el fraccionamiento de arreglos (array slicing). Pero un rango es un objeto de Ruby real, no solo sintaxis; tiene sus propios métodos.

Crea uno con .. (dos puntos, inclusivo) o ... (tres puntos, excluyendo el valor final):

inclusive = 1..5    # 1, 2, 3, 4, 5
exclusive = 1...5   # 1, 2, 3, 4

Convierte un rango en un array con to_a para ver exactamente qué cubre:

puts (1..5).to_a.inspect    # [1, 2, 3, 4, 5]
puts (1...5).to_a.inspect   # [1, 2, 3, 4]

Los rangos no son solo para números. Funcionan con cualquier cosa que tenga un orden, incluyendo letras:

puts ("a".."e").to_a.inspect  # ["a", "b", "c", "d", "e"]
challenge icon

Desafío

Principiante

Lee dos números enteros (dos líneas de entrada): un start y un end_value. Imprime tres líneas:

  1. El rango inclusivo start..end_value como un array (usa inspect)
  2. El rango exclusivo start...end_value como un array
  3. El tamaño del rango inclusivo

Para la entrada 1 y luego 5, la salida es:

[1, 2, 3, 4, 5]
[1, 2, 3, 4]
5

Hoja de referencia

Los rangos en Ruby utilizan .. (inclusivo) o ... (excluyendo el final):

inclusive = 1..5    # 1, 2, 3, 4, 5
exclusive = 1...5   # 1, 2, 3, 4

Convierte un rango en un array con to_a:

puts (1..5).to_a.inspect    # [1, 2, 3, 4, 5]
puts (1...5).to_a.inspect   # [1, 2, 3, 4]

Los rangos también funcionan con letras:

puts ("a".."e").to_a.inspect  # ["a", "b", "c", "d", "e"]

Pruébalo tú mismo

start     = gets.to_i
end_value = gets.to_i

# TODO: imprimir el rango inclusivo, el rango exclusivo y el tamaño inclusivo
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y flujo