Que signifie le * (étoile) dans Ruby? [dupliquer]
possible Duplicate:
Que fait l'opérateur * à cette chaîne dans Ruby
il y a Probablement réponses qu'ailleurs, mais je ne sais pas comment le trouver...
si j'ai raison, le *
signifie plusieurs paramètres si utilisé dans la définition de la fonction:
def hero(name, *super_powers)
mais qu'est-ce que *
dans le code comme ceci:
Hash[*[[:first_name, 'Shane'], [:last_name, 'Harvie']].flatten] # => {:first_name=>"Shane", :last_name=>"Harvie"}
1 réponses
De Longueur Variable De La Liste D'Arguments, Astérisque Opérateur
Le dernier paramètre d'une méthode peut être précédés d'un astérisque(*), qui est parfois appelé le "splat" opérateur. Cela indique que plusieurs paramètres peuvent être passés à la fonction. Ces paramètres sont recueillis et un tableau est créé.
l'opérateur d'astérisque peut aussi précéder un argument de tableau dans un appel de méthode. Dans ce cas, le tableau sera étendu et les valeurs passées en comme s'ils étaient séparés par des virgules.