將陣列強制轉換為引數列表
假設你有一個陣列:
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)