【Ruby3.x】Symbol::casecmp()メソッドの使い方
casecmpメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
casecmpメソッドは、Symbolクラスのインスタンスであるシンボルと、別のシンボルまたは文字列を大文字・小文字を区別せずに比較するためのメソッドです。このメソッドは、レシーバ(メソッドを呼び出すシンボル)と引数(比較対象)のアルファベット順を考慮し、その比較結果を整数値で返します。
具体的には、例えば:appleと:Appleを比較した場合、これらを同じものとして扱います。比較結果は以下のようになります。
- レシーバが引数よりも辞書順で前にある場合は
-1を返します。 - レシーバと引数が大文字・小文字の違いを除いて等しい場合は
0を返します。 - レシーバが引数よりも辞書順で後にある場合は
1を返します。
もし、比較対象がシンボルや文字列ではない場合など、比較ができないケースではnilを返します。このメソッドは、大文字・小文字を無視してシンボルの順序や一致を判断したい場合に非常に役立ちます。
構文(syntax)
1:ruby.casecmp(:RUBY)
引数(parameters)
other_symbol
- other_symbol: 比較対象のSymbolオブジェクト
戻り値(return)
-1, 0, 1, or nil
Stringクラスのcasecmpメソッドは、レシーバーであるSymbolオブジェクトを、引数で指定されたStringオブジェクトと比較し、大文字・小文字を区別せずに比較した結果を返します。レシーバーが引数よりも辞書順で小さい場合は-1、等しい場合は0、大きい場合は1を返します。比較できない場合はnilを返します。