将数组强制转换为参数列表
假设你有一个数组:
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)