la ligneruby: qu'est-ce que l'astérisque dans "p * 1..10" signifie
p *1..10
fait exactement la même chose que
(1..10).each { |x| puts x }
qui vous donne le résultat suivant:
$ ruby -e "p *1..10"
1
2
3
4
5
6
7
8
9
10
C'est un excellent raccourci lorsque vous travaillez avec textmate par exemple, mais que fait l'astérisque? Comment ça marche? n'a pas pu trouver quoi que ce soit sur le net ...
il me semble que a, b, c = * myvalues est équivalent à a, b, c = myvalues ou est-ce que ruby utilise implicitement l'opérateur splat dans ce cas? –
@Patrick Oui, une affectation où il y a un objet d'un côté et plusieurs objets de l'autre implique en quelque sorte un opérateur splat. Donc, ce n'est pas un exemple très utile, je suppose. – Neall