Les boucles

Voir la vidéo
Description Sommaire

Dans ce nouveau chapitre nous allons parler des boucles. Les boucles permettent de répéter une certaine logique suivant une condition précise. Comme d'habitude avec Ruby il existe plusieurs manières de créer des boucles :

La boucle While

La boucle while permet d'exécuter un code tant que la condition passée en paramètre n'est pas satisfaite

while <condition>
    # ....
end

Il faudra faire attention avec l'utilisation de cette boucle à ce que la condition devienne fausse à un moment donné au risque de voir la boucle se dérouler de manière infinie. Si on le souhaite, il existe aussi la boucle until qui permet de faire la même chose sauf que la condition d'arrêt est inversée.

La boucle For

La boucle for permet d'exécuter un code un certain nombre de fois en précisant manuellement l'intervalle pour lequel on souhaite faire la boucle. On passera à cette boucle un range qui permettra de déterminer les différentes itérations à effectuer :

for num in 1..3
    puts num
end

# 1 
# 2
# 3

Il est possible de sauter une certaine étape lors de l'itération en utilisant le mot-clé next

for num in 1..3
    next if num == 2
    puts num
end

# 1 
# 3

Les blocks

Lorsque l'on souhaitera itérer sur des objets plus complexes, comme les tableaux ou les hash, on pourra alors utiliser un des blocks

Les blocks s'écrivent de la manière suivante

... do |parametre1, parametre2 ....|
    code
end
# ou syntaxe courte
.... { |parametre1, parametre2 ....| code }

Les blocs sont utilisés dans de nombreuses méthodes de Ruby. Par exemple les entiers disposent d'une méthode times qui permet d'exécuter un bloc un certain nombre de fois :

3.times do |num|
    puts num
end

# 0 
# 1
# 2

Ces blocs nous permettent aussi de parcourir les éléments d'un tableau avec par exemple la méthode each

eleves = ["Jean", "Jacque", "Marine"]
# syntaxe courte
eleves.each { |eleve| puts "Bonjour #{eleve}" }
# syntaxe longue
eleves.each do |eleve|
    puts "Bonjour #{eleve}" 
end

Les blocs sont très utilisés en Ruby et on les retrouve dans de nombreuses méthodes, on reviendra dessus un petit peu plus tard pour mieux comprendre comment il fonctionne et ce qu'ils sont réellement.

Publié
Technologies utilisées
Auteur :
Grafikart
Partager