« Programmation Ruby/Méthodes » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 29 :
Une méthode Ruby peut recevoir en paramètre la référence à un bloc de code tel que :
 
<source lang="ruby">
def donnezmoiducode(param)
if block_given?
Ligne 38 ⟶ 39 :
donnezmoiducode("j'ai faim !") » "j'ai faim !"
donnezmoiducode("J'ai faim !") { |s| s = "miam !"') } # => "miam !"
</source>
 
 
Si en dernier paramètre de méthode, en prototype, on trouve une déclaration explicite avec une esperluette, alors le bloc est converti en objet Proc et cette objet entre dans la liste de paramètre de la méthode :
 
<source lang="ruby">
class BoiteACalculs
def initialize(nom, &bloc)
Ligne 53 ⟶ 55 :
calcul. application(10) #=> "10 Fois deux = 20"
calcul. application(20) #=> "20 Fois deux = 40"
</source>
 
== le constructeur initialize ==