Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > setライブラリ > Setクラス > flatten

instance method Set#flatten

flatten -> Set[permalink][rdoc]
flatten! -> self | nil

集合を再帰的に平坦化します。

flatten は、平坦化した集合を新しく作成し、それを返します。

flatten! は、元の集合を破壊的に平坦化します。集合の要素に変更が 発生した場合には self を、そうでない場合には nil を返します。

[EXCEPTION] ArgumentError:
集合の要素として self が再帰的に現れた場合に発生 します。
require 'set'
s = Set[Set[1,2], 3]
p s.flatten #=> #<Set: {1, 2, 3}>
p s         #=> #<Set: {#<Set: {1, 2}>, 3}>
s.flatten!
p s         #=> #<Set: {1, 2, 3}>

[SEE_ALSO] Array#flatten