将数组强制转换为参数列表

假设你有一个数组:

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)