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つの引数を期待しますが、配列を1つの引数としてのみ取得するためです。同じ引数が設定されたメソッドがいくつかあるので、これを機能させてDRYerコードを取得するにはどうすればよいですか?

4

2 に答える 2

3

スプラット演算子を使用する必要があります。これを試して:

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

可変長引数/スプラットの候補?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 に答える