Les blocs
1. Bloc simple
Un bloc est un ensemble d’instructions que l’on passe en argument d’une méthode. C’est un peu une forme de programmation fonctionnelle. Cela s’avère très pratique pour tout ce qui consiste à parcourir une structure et exécuter un traitement.
Commençons par définir la structure d’un bloc : soit entre accolades, ou soit entre les mots-clés do et end. Il est assez courant d’utiliser un bloc do end lorsqu’il y a plusieurs instructions et les accolades pour le cas d’une instruction (l’usage peut également dépendre des raccourcis de votre environnement de développement).
Exemples :
do
puts "hello"
puts "bye bye"
end
{
puts "hello"
puts "bye bye"
}
Un bloc ne peut pas s’exécuter en dehors de l’association par l’appel d’une méthode. Une pseudo fonction appelée yield représente ce bloc d’instructions.
Exemple :
def message()
yield
end
message do
puts "hello"
puts "bye bye"
end
message {
puts "hello"
puts "bye bye"
}
Nous avons fait l’appel avec les deux syntaxes, notre code consiste simplement à exécuter le bloc dans la méthode message. Nous obtenons donc en sortie deux fois :
hello
bye bye
2. Bloc avec arguments
Il est possible d’affecter au bloc des arguments, ces arguments sont positionnés entre | en début de bloc (sans insérer...