Rubyリファレンス: Home

flatten, flatten! (Array)

Edit   History

標準クラス・モジュール > Array > flatten, flatten!

array.flatten

flattenメソッドは、配列の配列を平坦化した新しい配列を返します。配列中に含まれる配列からすべて要素を取り出して、親の配列の中に並べます。

arr = [1, 2, 3, [4, 5], [6, [7, 8]]]
p arr.flatten
[1, 2, 3, 4, 5, 6, 7, 8]
array.flatten(level)

Ruby 1.8.7 Ruby 1.8.7とRuby 1.9では、何段階まで平坦化するのかを引数で指定できます。

arr = [1, 2, 3, [4, 5], [6, [7, 8]]]
p arr.flatten(1)
[1, 2, 3, 4, 5, 6, [7, 8]]
array.flatten!

flatten!メソッドは、配列の配列を平坦化します。レシーバ自身を変更するメソッドです。戻り値は、変更があったときはレシーバ自身、なかったときはnilです。

arr = [1, 2, 3, [4, 5], [6, [7, 8]]]
arr.flatten!
p arr
[1, 2, 3, 4, 5, 6, 7, 8]
array.flatten!(level)

Ruby 1.8.7 Ruby 1.8.7とRuby 1.9では、何段階まで平坦化するのかを引数で指定できます。

arr = [1, 2, 3, [4, 5], [6, [7, 8]]]
arr.flatten!(1)
p arr
[1, 2, 3, 4, 5, 6, [7, 8]]

関連項目