Ruby で配列の要素を展開して別の配列に格納する

TL;DR

1
2
3
4
5
pry[0]> arrayA = [1, 2, 3,]
pry[1]> arrayB = [4, 5]
pry[2]> arrayA.push(*arrayB)

=> [1, 2, 3, 4, 5]

経緯

配列の中に要素を展開して入れて欲しいときはどうしたら... ある時ふとそんな気持ちになりました。

そこでいろいろ調べてみるとこんな記事が見つかりました。 一番上の記事は、 ruby 配列 要素 展開 [検索] とかで調べた記憶があります。

qiita.com scrapbox.io

結論

push する配列に splat operator (*) なるものをつけてあげるだけで良さそう

1
2
3
4
5
pry[0]> arrayA = [1, 2, 3,]
pry[1]> arrayB = [4, 5]
pry[2]> arrayA.push(*arrayB)

=> [1, 2, 3, 4, 5]