1. *运算符
在方法定义中的参数列表里的最后一个参数前带一个星号( * )—-有时候也叫splat运算符,表示可以将多个参数传递给方法。那些参数被封装成一个数组。
def calculate_value(x, y, *otherValues)
p x, y, otherValues
end
calculate_value(1, 2, 'a', 'b', 'c')
结果如下:
1
2
["a", "b", "c"]
2. 将数组分解成参数
在调用方法时,如果以“ *数组名 ”形式指定方法的参数,这种情况传递给方法的就不是数组了!而是将数组扩展,并分解数组,将数组的各个元素按照顺序传递给方法。但需要注意,数组元素个数与方法定义中参数列表的参数个数一致。一一对应。
# 跟上个例子结果一致
def calculate_value(x, y, *otherValues)
p x, y, otherValues
end
array = ['a', 'b',