Et bien ton code ne modifiera le comportement de ta classe que dans les "parties" qui le demande explicitement.
En ruby si tu fait :
1.class.send :define_method, :to_s do
return "foo"
end
une fois ce code exécuté la classe Fixnum elle même est modifié et tout les appels a Fixnum.to_s sans aucune exception renverront la chaîne "foo".
Je te l'accorde l'exemple que j'ai donné est sans intérêt. Mais ça ouvre pas mal de possibilités sympa notamment du fait que la modification n'est active qu'au moment ou le code est exécuté ce qui permet d'activer/désactiver des méthodes par moment etc.
[^] # Re: Intérèt de mono et .Net
Posté par Jean B . En réponse à la dépêche Mono 2.0 : le singe continue ses grimaces. Évalué à 1.
En ruby si tu fait :
1.class.send :define_method, :to_s do
return "foo"
end
une fois ce code exécuté la classe Fixnum elle même est modifié et tout les appels a Fixnum.to_s sans aucune exception renverront la chaîne "foo".
Je te l'accorde l'exemple que j'ai donné est sans intérêt. Mais ça ouvre pas mal de possibilités sympa notamment du fait que la modification n'est active qu'au moment ou le code est exécuté ce qui permet d'activer/désactiver des méthodes par moment etc.