1

如何将一组参数绑定到一个变量,然后将该变量用作方法的参数,例如

my_method(arg_a, arg_b, arg_c, arg_d, arg_e)

应该像这样表达

my_args = [arg_a, arg_b, arg_c, arg_d, arg_e]
my_method(my_args)

但这不起作用,因为 my_method 需要 5 个参数,但只能将数组作为一个参数。我几乎没有设置相同参数的方法,那么如何让它工作以获取 DRYer 代码?

4

2 回答 2

3

您应该使用 splat 运算符。尝试这个:

my_args = [arg_a, arg_b, arg_c, arg_d, arg_e]
my_method(*my_args)
于 2012-09-08T18:05:30.810 回答
1

可变长度参数/splat的可能候选者?http://www.linuxtopia.org/online_books/programming_books/ruby_tutorial/Ruby_More_About_Methods_Variable-Length_Argument_Lists.html

于 2012-09-08T18:07:23.370 回答