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...

Pour consulter la suite, découvrez le livre suivant :
couv_Ruby.PNG
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Les méthodes
Suivant
Les instructions de contrôles