可變數量的引數
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)