Menu
Coddy logo textTech

Qu'est-ce qu'un intervalle ?

Fait partie de la section Logique et Flux du Journey Ruby de Coddy — leçon 6 sur 56.

Vous avez déjà utilisé des plages avec les boucles for et le découpage de tableaux. Mais une plage est un véritable objet Ruby, pas seulement de la syntaxe, elle possède ses propres méthodes.

Créez-en un avec .. (deux points, inclusif) ou ... (trois points, excluant la valeur de fin) :

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

Convertissez une plage en un tableau avec to_a pour voir exactement ce qu'elle couvre :

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

Les plages ne sont pas réservées qu'aux nombres. Elles fonctionnent avec tout ce qui possède un ordre, y compris les lettres :

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

Défi

Débutant

Lisez deux entiers (deux lignes d'entrée) : un start et une end_value. Affichez trois lignes :

  1. La plage inclusive start..end_value sous forme de tableau (utilisez inspect)
  2. La plage exclusive start...end_value sous forme de tableau
  3. La taille de la plage inclusive

Pour l'entrée 1 puis 5, la sortie est :

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

Aide-mémoire

Les intervalles en Ruby utilisent .. (inclusif) ou ... (excluant la fin) :

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

Convertissez un intervalle en un tableau avec to_a :

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

Les intervalles fonctionnent également avec des lettres :

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

Essayez vous-même

start     = gets.to_i
end_value = gets.to_i

# À FAIRE : afficher la plage inclusive, la plage exclusive et la taille inclusive
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique et Flux