array中級

Ruby の `[[1, 2], [3, [4, 5]]].flatten` の結果はどれですか?

  • [[1, 2], [3, [4, 5]]](変化なし)
  • [1, 2, 3, [4, 5]](1段階のみ)
  • [1, 2, 3, 4, 5]
  • [1, 2, 3, 4, 5] が元の配列を変更する

解説

`flatten` は入れ子の配列を再帰的にすべて展開した新しい配列を返します。`flatten(1)` のように深さを指定すると1段階だけ展開します。`flatten!` は破壊的バージョンです。