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 »