默认参数和多参数
Ruby 允许你指定参数的默认值。可以使用通常的赋值运算符在方法的参数列表中指定默认值:
def aMethod( a=10, b=20 )
如果将未赋值的变量传递给该方法,则将为其分配默认值。但是,如果传递了赋值的变量,则为其赋的值优先于默认值:
def aMethod( a=10, b=20 )
return a, b
end
p( aMethod ) #=> displays: [10, 20]
p( aMethod( 1 )) #=> displays: [1, 20]
p( aMethod( 1, 2 )) #=> displays: [1, 2]
在某些情况下,方法可能需要能够接收不确定数量的参数 - 例如,处理可变长度的项列表的方法。在这种情况下,您可以“删除”任意数量的尾随参数,然后在最后一个参数前面加上星号:
default_args.rb
def aMethod( a=10, b=20, c=100, *d )
return a, b, c, d
end
p( aMethod( 1,2,3,4,6 ) ) #=> displays: [1, 2, 3, [4, 6]]