方法定义中使用可变长参数
ruby 允许在定义方法的时候支持数目可变的参数, 但是只能定义一个可边长参数:
#这个时候传进来的边长参数, 类似一个数组
#这个函数可以接受任意多的参数 def func_width_changeable_param(*p) puts p.join('♂') end
#任意长度的参数, 可以写在参数定义的任何位置
def func_width_changeable_param(x, *p, y)
puts "#{x} #{y}"
puts p.join('♂')
end
# * 运算符还可以把数组, 变成单独的参数来处理
func_width_changable_param(*[1,2,3,4,5,6,7])
# 赋值的时候也可以用, 很好, 强, 无敌
head, *middle, tail = [1,2,3,4,5,6,7]
#最后一句的结果
2.0.0-p643 :083 > head
=> 1
2.0.0-p643 :084 > middle
=> [2, 3, 4, 5, 6]
2.0.0-p643 :085 > tail
=> 7