【Ruby3.x】Module::include?()メソッドの使い方
include?メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
include?メソッドは、あるモジュールやクラスが特定のモジュールを組み込んでいるか(インクルードしているか)を確認するメソッドです。このメソッドは、レシーバであるモジュールやクラスが、引数として指定されたモジュールを直接または間接的にインクルードしているかどうかを真偽値(trueまたはfalse)で返します。
ここで「インクルード」とは、モジュールが持つメソッドや定数といった機能を、別のクラスやモジュールに取り込み、そのクラスやモジュール自身の機能として利用できるようにする仕組みを指します。例えば、複数のクラスで共通の振る舞いを共有したい場合に、その振る舞いをモジュールとして定義し、各クラスにインクルードすることでコードの再利用性を高めることができます。
include?メソッドは、このインクルード関係、つまりレシーバの祖先チェイン(ancestorsメソッドで確認できる、継承やインクルードによってつながる関係性)の中に、引数で渡されたモジュールが含まれているかどうかを判定します。これは、特定の機能が現在調査中のクラスやモジュールに提供されているかを確認する際に役立ちます。プログラムが実行中に特定の機能モジュールが組み込まれているかを確認し、それに基づいて異なる処理を実行するといった、柔軟なコードを書くために利用されます。
構文(syntax)
1module MyModule 2end 3 4class MyClass 5 include MyModule 6end 7 8puts MyClass.include?(MyModule)
引数(parameters)
module
- module: 検索対象となるモジュールを指定します
戻り値(return)
Boolean
指定されたモジュールがレシーバのクラスまたはモジュールに含まれている場合に真 (true) を返します。含まれていない場合は偽 (false) を返します。