Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Module::>=()メソッドの使い方

>=メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

=メソッドはモジュールやクラス間の継承関係やインクルード関係を比較するメソッドです。

このメソッドは、レシーバ(メソッドを呼び出す側のモジュールまたはクラス)が、引数として渡されたモジュールまたはクラスと同じであるか、または引数のモジュールやクラスの子孫である場合trueを返します。それ以外の場合はfalseを返します。

例えば、クラスBがクラスAを継承している場合(class B < A; end)、B >= Atrueとなります。これは、BAの子孫にあたるためです。一方、A >= Bfalseとなります。 また、あるクラスCがモジュールMをインクルードしている場合(class C; include M; end)、C >= Mtrueとなります。これは、CMの機能を取り込み、実質的にMの子孫のような関係にあると見なされるためです。 同じモジュールやクラス同士を比較した場合は、常にtrueを返します(例: A >= A)。

このメソッドは、コード内で特定のクラスやモジュールが、目的とする継承階層やインクルード関係を満たしているかを確認する際に有用です。オブジェクトの型が特定のクラスやモジュールであるかを確認するis_a?メソッドなどとは異なり、>=メソッドは型そのものの関係性を直接比較する点で異なります。

構文(syntax)

1module AncestorModule; end
2module DescendantModule; include AncestorModule; end
3
4DescendantModule >= AncestorModule

引数(parameters)

req

  • obj: 比較対象となるオブジェクト

戻り値(return)

Boolean

比較対象のモジュールが、指定されたモジュール以下である場合に真を返します。

関連コンテンツ

関連プログラミング言語