【Ruby3.x】Symbol::==()メソッドの使い方
==メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
==メソッドは、レシーバーであるSymbolオブジェクトが、指定された別のオブジェクトと等しいかどうかを比較するメソッドです。
RubyにおけるSymbolは、文字列に似ていますが、その内容が変更されることがなく、同じ文字列表現を持つSymbolは常に同じオブジェクトとして扱われる特徴を持つ、ユニークな識別子として利用されます。この特性により、Symbolはキーやステータスなどの識別子として効率的に活用されます。
この==メソッドは、主にSymbolオブジェクト同士の等価性を判断する際に用いられます。比較対象のオブジェクトがSymbolであり、かつ両者の文字列表現が完全に一致する場合にのみ、真(true)を返します。例えば、:status == :status は true となりますが、:status == :error は false です。
一方、比較対象がSymbolではない、例えばStringオブジェクトである場合は、たとえ内容が同じであっても、このメソッドは常に偽(false)を返します。これは、SymbolとStringが異なるデータ型であるため、値が同じでも等しいとは見なされないためです。例えば、:name == "name" は false となります。
このメソッドは、Symbolが持つ特性を理解した上で、オブジェクトの同一性ではなく、値の等価性を判断する際に重要な役割を果たします。
構文(syntax)
1:symbol_name == other_object
引数(parameters)
req
- other: Symbol: 比較対象のSymbolオブジェクト
戻り値(return)
Boolean
2つのシンボルが同じ名前であれば真 (true)、そうでなければ偽 (false) を返します。