【Ruby3.x】Symbol::casecmp?()メソッドの使い方
casecmp?メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
casecmp?メソッドは、Symbolクラスに属し、シンボル同士を大文字・小文字の区別をせず比較するメソッドです。このメソッドは、呼び出し元のシンボルと、引数として指定された別のシンボルが、英字の大文字・小文字の違いを無視して同一であるかを判定します。
具体例として、:appleというシンボルと:Appleというシンボルを比較する場合を考えてみましょう。通常の等価演算子(==)では、大文字と小文字が異なるため、これらは異なるシンボルとしてfalseを返します。しかし、casecmp?メソッドを使用すると、両者のアルファベットが同じであるため、大文字・小文字の区別を無視してtrueが返されます。
比較の結果、レシーバのシンボルと引数のシンボルが、大文字・小文字を無視した上で完全に一致する場合は、ブーリアン値のtrueを返します。もし一致しない場合、または引数として渡された値がSymbol型ではない場合はfalseを返します。
このメソッドは、システム内で設定値やステータスなどをシンボルで管理している際に、外部からの入力や異なるモジュール間で受け渡されるデータにおいて、大文字・小文字の表記揺れを吸収して柔軟に比較を行いたい場合に非常に役立ちます。RubyのStringクラスにも同名のcasecmp?メソッドが存在し、文字列に対して同様の機能を提供しており、シンボル版はそのシンボルとしての特性に合わせたものです。
構文(syntax)
1:example_symbol.casecmp?("EXAMPLE_STRING")
引数(parameters)
other
- other: 比較対象となるSymbolオブジェクト
戻り値(return)
Boolean
指定されたシンボルが、レシーバのシンボルの大文字小文字を区別しない比較で等しい場合に true を返します。それ以外の場合は false を返します。