2

私が持っていると言う

arr = [1,2,3]

このメソッドを変更して、各引数を配列に追加するにはどうすればよいですか?

def add(*number)
  arr << *number
end

したがってadd(4,5,6)、以下が生成されます。

arr #=> [1,2,3,4,5,6]
4

3 に答える 3

5

splat を介して引数を受け入れる場合、それらは常に配列になります。したがって、単純に 2 つの配列を一緒に追加できます。

def add(*numbers)
  arr + numbers
end
于 2013-12-31T19:58:49.527 に答える
2

使用concat:

def add(*nums)
  arr.concat nums
end

または+:

def add(*nums)
  arr + nums
end
于 2013-12-31T20:00:15.647 に答える
0
$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]
于 2013-12-31T20:01:43.663 に答える