このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 3.2 リファレンスマニュアル

instance method Array#flatten

flatten(lv = nil) -> Array[permalink][rdoc][edit]

自身を再帰的に平坦化した配列を生成して返します。 lv が指定された場合、lv の深さまで再帰的に平坦化します。

[PARAM] lv:
平坦化の再帰の深さを整数で指定します。nil を指定した場合、再帰の深さの制限無しに平坦化します。整数以外のオブジェクトを指定した場合は to_int メソッドによる暗黙の型変換を試みます。
[EXCEPTION] TypeError:
引数に整数以外の(暗黙の型変換が行えない)オブジェクトを指定した場合に発生します。
[EXCEPTION] ArgumentError:
配列要素が自身を含むような無限にネストした配列に対して flatten を呼んだ場合に発生します。
例
# 自身を再帰的に平坦化する例。
a = [1, [2, 3, [4], 5]]
p a.flatten                     # => [1, 2, 3, 4, 5]
p a                             # => [1, [2, 3, [4], 5]]

# 平坦化の再帰の深さを指定する例。
a = [ 1, 2, [3, [4, 5] ] ]
p a.flatten(1)            # => [1, 2, 3, [4, 5]]

[SEE_ALSO] Array#flatten!