可變數量的引數

splat 運算子刪除陣列的各個元素並將它們放入列表中。這通常用於建立接受可變數量引數的方法:

# 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')

請注意,陣列只計為列表中的一個專案,因此如果你有要傳遞的陣列,則需要在呼叫端使用 splat 運算子:

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