配列応用レベル
Ruby の [[1, 2], [3, [4, 5]]].flatten の結果はどれですか?
- 1[[1, 2], [3, [4, 5]]](変化なし)
- 2[1, 2, 3, [4, 5]](1段階のみ)
- 3[1, 2, 3, 4, 5]
- 4[1, 2, 3, 4, 5] が元の配列を変更する
解説
flatten は入れ子の配列を再帰的にすべて展開した新しい配列を返します。flatten(1) のように深さを指定すると1段階だけ展開します。flatten! は破壊的バージョンです。