在Ruby中,方法參數(shù)主要有以下幾種策略:
def my_method(required_arg)
# ...
end
my_method(10) # 正確
my_method() # 報錯:ArgumentError: missing keyword argument
=
為可選參數(shù)指定默認值。例如:def my_method(required_arg, optional_arg = 0)
# ...
end
my_method(10) # 正確,optional_arg 的值為 0
my_method(10, 20) # 正確,optional_arg 的值為 20
...
來實現(xiàn)。例如:def my_method(*args)
# ...
end
my_method(1, 2, 3) # 正確,args 的值為 [1, 2, 3]
**
來實現(xiàn)。例如:def my_method(**kwargs)
# ...
end
my_method(a: 1, b: 2) # 正確,kwargs 的值為 {:a=>1, :b=>2}
...
和類型聲明來實現(xiàn)。例如:def my_method(*numbers)
# ...
end
my_method(1, 2, 3, 4) # 正確,numbers 的值為 [1, 2, 3, 4]
**
和類型聲明來實現(xiàn)。例如:def my_method(**options)
# ...
end
my_method(a: 1, b: 2, c: 3) # 正確,options 的值為 {:a=>1, :b=>2, :c=>3}
結(jié)合這些策略,你可以根據(jù)需要設(shè)計出靈活且易于使用的方法參數(shù)。