Du nouveau dans Ruby 2.1: Définition de méthode
Ruby 2.1 devrait être là dans pas longtemps, il est temps de regarder ce que cette nouvelle version nous offre. Aujourd’hui on va voir un petit changement dans la définition des méthodes.
Ce qui change avec def
Jusqu’ici, def
renvoyait nil
:
[~]⇒ rvm use 2.0.0
[~]⇒ irb
>> def foo;end
nil
Dans Ruby 2.1, def
va renvoyer le nom de la méthode (en tant que symbole):
[~]⇒ rvm use 2.1.0-preview1
[~]⇒ irb
>> def foo;end
=> :foo
Un cas d’utilisation
Pour l’instant je ne connais qu’un seul cas d’utilisation:
On peut utiliser Ruby pendant très longtemps avant de se rendre compte que
private
est une méthode et non un mot-clé. Avant Ruby 2.1, l’utilisation
typique de private
est celle-ci:
Autrement dit: les méthodes publiques avant private
et les méthodes privées
après. Une autre possibilité intéressante est la suivante:
Moins utilisée mais pourtant cool, cette façon de faire permet de garder, par exemple, une méthode helper sous la méthode appellante.
Avec Ruby 2.1 nous aurons donc la possibilité d’écrire ceci:
Voilà. Si vous connaissez un autre cas d’utilisation, laissez donc un commentaire.
Source (pdf) toruby
À demain.