將陣列強制轉換為引數列表

假設你有一個陣列:

pair = ['Jack','Jill']

一個帶有兩個引數的方法:

def print_pair (a, b)
  puts "#{a} and #{b} are a good couple!"
end

你可能認為你可以傳遞陣列:

print_pair(pair) # wrong number of arguments (1 for 2) (ArgumentError)

由於陣列只是一個引數,而不是兩個,因此 Ruby 會丟擲異常。你可以單獨拉出每個元素:

print_pair(pair[0], pair[1])

或者你可以使用 splat 運算子來節省一些精力:

print_pair(*pair)