在Ruby中,方法参数主要有以下几种策略:
def my_method(required_arg)
# ...
end
my_method(10) # 正确
my_method() # 报错:ArgumentError: missing keyword argument
=
为可选参数指定默认值。例如:def my_method(required_arg, optional_arg = 0)
# ...
end
my_method(10) # 正确,optional_arg 的值为 0
my_method(10, 20) # 正确,optional_arg 的值为 20
...
来实现。例如:def my_method(*args)
# ...
end
my_method(1, 2, 3) # 正确,args 的值为 [1, 2, 3]
**
来实现。例如:def my_method(**kwargs)
# ...
end
my_method(a: 1, b: 2) # 正确,kwargs 的值为 {:a=>1, :b=>2}
...
和类型声明来实现。例如:def my_method(*numbers)
# ...
end
my_method(1, 2, 3, 4) # 正确,numbers 的值为 [1, 2, 3, 4]
**
和类型声明来实现。例如:def my_method(**options)
# ...
end
my_method(a: 1, b: 2, c: 3) # 正确,options 的值为 {:a=>1, :b=>2, :c=>3}
结合这些策略,你可以根据需要设计出灵活且易于使用的方法参数。