ruby 一些基础的语法, 各种杂物箱

方法定义中使用可变长参数

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 

 

原文地址:https://www.cnblogs.com/mahong-shaojiu-ruby/p/5948575.html