【Ruby3.x】Set::flatten!()メソッドの使い方
flatten!メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
flatten!メソッドは、RubyのSetクラスに属し、Setオブジェクトに対して実行されるメソッドです。このメソッドは、通常、コレクション内のネストされた(入れ子になった)構造を平坦化するために使われます。しかし、Setクラスは要素の重複を許さない集合であり、他のSetオブジェクトを直接的な要素としてネストするようには設計されていません。
そのため、Setオブジェクトに対してflatten!メソッドを呼び出したとしても、そのSetオブジェクトの内容が変更されることはありません。このメソッドは常に、変更が加えられていない元のSetオブジェクト自身を返します。メソッド名の末尾にある「!」は、慣習としてレシーバー(メソッドが呼び出されたオブジェクト)を破壊的に変更する可能性のあるメソッドに付けられますが、Set#flatten!の場合、実際にはSetオブジェクトに構造的な変更が発生しないため、破壊的な効果はありません。この特性を理解し、Setオブジェクトにflatten!を適用しても、内部構造は変わらないことを覚えておくと良いでしょう。
構文(syntax)
1require 'set' 2 3s = Set[1, Set[2, 3], Set[4, Set[5]]] 4s.flatten! # s は Set[1, 2, 3, 4, 5] になる
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません