Ruby Language Nombre variable d'arguments


Exemple

L'opérateur splat supprime des éléments individuels d'un tableau et les transforme en une liste. Ceci est le plus couramment utilisé pour créer une méthode qui accepte un nombre variable d'arguments:

# First parameter is the subject and the following parameters are their spouses
def print_spouses(person, *spouses)
  spouses.each do |spouse|
    puts "#{person} married #{spouse}."
  end
end

print_spouses('Elizabeth', 'Conrad', 'Michael', 'Mike', 'Eddie', 'Richard', 'John', 'Larry')

Notez qu'un tableau ne compte que pour un élément de la liste. Vous devez donc nous aussi appeler l'opérateur splat du côté appel si vous souhaitez transmettre un tableau:

bonaparte = ['Napoleon','Joséphine','Marie Louise']
print_spouses(*bonaparte)