Menu
Coddy logo textTech

O que é um Intervalo?

Parte da seção Lógica e Fluxo do Journey de Ruby da Coddy — lição 6 de 56.

Você já usou ranges com for loops e fatiamento de arrays. Mas um range é um objeto Ruby real, não apenas sintaxe; ele possui seus próprios métodos.

Crie um com .. (dois pontos, inclusivo) ou ... (três pontos, exclusivo do valor final):

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

Converta um intervalo para um array com to_a para ver exatamente o que ele abrange:

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

Intervalos não servem apenas para números. Eles funcionam com qualquer coisa que tenha uma ordem, incluindo letras:

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

Desafio

Iniciante

Leia dois números inteiros (duas linhas de entrada): um start e um end_value. Imprima três linhas:

  1. O intervalo inclusivo start..end_value como um array (use inspect)
  2. O intervalo exclusivo start...end_value como um array
  3. O tamanho do intervalo inclusivo

Para a entrada 1 e depois 5, a saída é:

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

Folha de consulta

Intervalos em Ruby usam .. (inclusivo) ou ... (exclusivo do fim):

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

Converta um intervalo para um array com to_a:

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

Intervalos também funcionam com letras:

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

Experimente você mesmo

start     = gets.to_i
end_value = gets.to_i

# TODO: imprimir o intervalo inclusivo, o intervalo exclusivo e o tamanho inclusivo
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo