【Ruby3.x】Set::>=()メソッドの使い方
>=メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
>=メソッドは、あるSetオブジェクトが別のSetオブジェクトの上位集合であるか、あるいは両者が等しいかを判定するメソッドです。このメソッドは、呼び出し元のSetオブジェクトが、引数として渡されたSetオブジェクトの全ての要素を含んでいる場合にtrueを返します。特に、二つのSetオブジェクトが完全に同じ要素を持っている場合もtrueが返されます。一方、呼び出し元のSetオブジェクトが引数のSetオブジェクトの全ての要素を含んでいない場合、つまり、引数のSetオブジェクトの中に、呼び出し元のSetオブジェクトには存在しない要素がある場合はfalseを返します。
この機能は、二つの集合間に特定の包含関係があるかをプログラム上で確認したい場合に非常に役立ちます。例えば、あるカテゴリーのアイテム集合が、別のより限定されたカテゴリーのアイテム集合の全てを含んでいるかどうかを検証する際などに使用できます。引数には比較対象となる別のSetオブジェクトを指定する必要があります。戻り値は、判定の結果を示す真偽値(trueまたはfalse)となります。この>=記号は、数学における集合の記号⊇(上位集合または等しい)と同じ意味合いで用いられており、左側のSetオブジェクトが右側のSetオブジェクトを「完全に含んでいるか、または等しいか」を問うものであると理解すると良いでしょう。システムエンジニアを目指す上で、このような集合演算の理解はデータ構造やアルゴリズムを扱う上で基礎となります。
構文(syntax)
1require 'set' 2 3set1 = Set[1, 2, 3] 4set2 = Set[1, 2] 5puts set1 >= set2
引数(parameters)
other
- other: 比較対象となるSetオブジェクト、またはSetオブジェクトに変換可能なコレクション
戻り値(return)
Boolean
2つのSetオブジェクトのうち、レシーバであるSetオブジェクトが、引数であるSetオブジェクトの全ての要素を含んでいる場合に真 (true) を、そうでない場合に偽 (false) を返します。