引数の受け渡し
Rubyの勉強
メソッド側で引数に*をつけるとArrayとして残り全てを受け取る、引数の数が固定でない場合に便利。メイン側のArrayに*をつけると要素が展開されて渡される。
def test( x, y, *z) p x p y p z end test(0,1) # => 0 # => 1 # => [] 要素の有無に関わらずArrayとなる test(0,1,2) # => 0 # => 1 # => [2] a = 0 b = [1, 2, 3, 4, 5, 6] test(a,b) # => 0 # => [1, 2, 3, 4, 5, 6] 第二引数にはArrayがそのまま渡る # => [] test(b) # => wrong number of arguments (1 for 2) (ArgumentError) # 引数が2個必要なところに1個しか渡されていない test(a,*b) # => 0 # => 1 Arrayが展開されて要素が渡される # => [2, 3, 4, 5, 6]