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

【Ruby3.x】Symbol::match?()メソッドの使い方

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

作成日: 更新日:

基本的な使い方

match?メソッドは、Symbolオブジェクトが特定のパターンに合致するかどうかを判定するメソッドです。RubyにおけるSymbolは、:で始まる識別子として使われる文字列に似たオブジェクトで、内部的には一意な値として扱われます。このメソッドは、引数として正規表現(Regexpオブジェクト)を受け取ります。

具体的には、match?メソッドを呼び出す側のSymbolが、引数で指定された正規表現のパターンにマッチする場合にtrueを返します。もしマッチしない場合はfalseを返します。この機能は、文字列が正規表現にマッチするかどうかを調べるString#match?メソッドと類似していますが、対象がSymbolである点が異なります。

例えば、:example_symbol.match?(/sym/) のように使用すると、:example_symbol というシンボルが /sym/ というパターンを含んでいるかを確認できます。プログラム中でシンボルの名前を基に条件判定を行いたい場合や、特定のパターンに合致するシンボルを抽出したい場合などに便利です。戻り値が真偽値であるため、条件分岐の式に直接組み込んで活用することで、コードをより読みやすく簡潔に記述することができます。

構文(syntax)

1:hello.match?("hello")

引数(parameters)

pattern, pos = 0

  • pattern: マッチさせるパターンを指定します。文字列、正規表現、または他のシンボルを指定できます。
  • pos = 0: マッチングを開始する位置を指定します。デフォルトは0(文字列の先頭)です。

戻り値(return)

true または false

Symbol#match? は、レシーバー(メソッドを呼び出したシンボル)が指定されたパターンに一致するかどうかを判定し、一致する場合は true を、一致しない場合は false を返します。

関連コンテンツ