Dis que j'ai un tableau. Je souhaite passer le tableau à une fonction. La fonction attend cependant deux arguments. Est-il possible de convertir le tableau à la volée en 2 arguments? Par exemple:
a = [0,1,2,3,4]
b = [2,3]
a.slice(b)
Céderait une erreur en Ruby. Je dois saisir a.slice(b[0],b[1])
Je recherche quelque chose de plus élégant, comme dans a.slice(foo.bar(b))
Merci.
Vous pouvez transformer un Array
en une liste d’arguments avec le *
_ (ou "splat") opérateur:
a = [0, 1, 2, 3, 4] # => [0, 1, 2, 3, 4]
b = [2, 3] # => [2, 3]
a.slice(*b) # => [2, 3, 4]
Utilisez ceci
a.slice(*b)
C'est ce qu'on appelle l'opérateur splat