Ruby で配列の要素を展開して別の配列に格納する
TL;DR
pry[0]> arrayA = [1, 2, 3,] pry[1]> arrayB = [4, 5] pry[2]> arrayA.push(*arrayB) => [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 alpaca.tc scrapbox.io
結論
push する配列に splat operator (*) なるものをつけてあげるだけで良さそう
pry[0]> arrayA = [1, 2, 3,] pry[1]> arrayB = [4, 5] pry[2]> arrayA.push(*arrayB) => [1, 2, 3, 4, 5]