Différences entre les versions de « Programmation Ruby/Méthodes »

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?
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)
calcul. application(10) #=> "10 Fois deux = 20"
calcul. application(20) #=> "20 Fois deux = 40"
</source>
 
== le constructeur initialize ==
18

modifications