私が持っていると言う
arr = [1,2,3]
このメソッドを変更して、各引数を配列に追加するにはどうすればよいですか?
def add(*number)
arr << *number
end
したがってadd(4,5,6)
、以下が生成されます。
arr #=> [1,2,3,4,5,6]
splat を介して引数を受け入れる場合、それらは常に配列になります。したがって、単純に 2 つの配列を一緒に追加できます。
def add(*numbers)
arr + numbers
end
使用concat
:
def add(*nums)
arr.concat nums
end
または+
:
def add(*nums)
arr + nums
end
$arr = [1,2,3]
def add(*number)
$arr.concat number
end
add(4,5,6)
$arr #=> [1,2,3,4,5,6]
注:concat
は操作対象のオブジェクトを変更します ( $arr
)。プラス ( +
) はありません。
Tin Man が言及しているように、これを行うためにグローバルを使用したくありません。単純にやったほうがいい
arr.concat [4,5,6]
関数呼び出しの外側。さらに良いことに:
arr += [4,5,6]