配列応用レベル

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! は破壊的バージョンです。

問題一覧へ戻る