Quelle est votre expression idiomatique préférée en Ruby ?

Ruby, comme pas mal d’autres langages, permet des expressions idiomatiques, c’est-à-dire des expressions qui n’ont pas nécessairement d’équivalent dans d’autres langages.
Quelle est l’expression idiomatique que vous préférez en Ruby ?

2 « J'aime »

Personnellement, j’aime beaucoup

    age ||= 29

Equivalent à

    age = age || 29

Cette expression permet de donner une valeur par défaut. Si age a une valeur, il l’a garde, sinon, on lui affecte 29.

1 « J'aime »

Dans la même catégorie, j’aime beaucoup celles-ci :

array = [1, 2]

array |= [2, 3]
 => [1, 2, 3]

array &= [1, 3, 4]
 => [1, 3]
2 « J'aime »

En ce moment j’aime particulièrement la concision de:

    [1, 2].map(&:odd?)

Et dans le même genre:

    def foo(arg); "Transformation de #{arg}"; end    
    [1, 2].map(&method(:foo))
    #=> [
    #=>  "Transformation de 1",
    #=>  "Transformation de 2"
    #=> ]
2 « J'aime »

Pour ma part ce n’est pas vraiment une expression idiomatique mais plus le fait qu’on puisse utiliser des ? ou des ! dans le nom des methodes. En ce qui concerne le point d’interrogation, c’est beaucoup plus propre que des is ou has pour marquer qu’il s’agit d’un prédicat.

La surcharge des méthodes est également très propre et très simple à deviner (principalement pour + ou []).

3 « J'aime »
Human Coders - Le centre de formation recommandé par les développeur·se·s pour les développeur·se·s