【Ruby3.x】String::casecmp()メソッドの使い方
casecmpメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
casecmpメソッドは、RubyのStringクラスに属し、文字列を大文字と小文字を区別せずに比較するために使用されるメソッドです。このメソッドは、呼び出し元の文字列(レシーバ)と引数で指定された文字列との辞書順での関係を調べ、その結果を数値で返します。
具体的には、レシーバが引数よりも辞書順で前(小さい)であれば -1 を返します。両者が大文字と小文字の違いを無視して等しい場合は 0 を返します。そして、レシーバが引数よりも辞書順で後(大きい)であれば 1 を返します。もし引数が文字列ではないなど、比較できないオブジェクトであった場合は nil を返します。
例えば、ユーザーからの入力やファイル名の比較など、大文字と小文字の違いを気にせず文字列を比較したい場合に非常に有用です。通常の == 演算子による文字列比較では大文字と小文字が区別されるため、「Ruby」と「ruby」は異なる文字列として扱われますが、casecmpメソッドを使用すればこれらを等しいものとして扱うことが可能です。
このメソッドは、プログラムがユーザーの入力に対してより柔軟に対応できるようにしたり、特定の条件でデータをソートする際に活用されたりします。これにより、大文字・小文字を問わないマッチング処理を簡潔かつ効率的に実装することができます。
構文(syntax)
1"Hello".casecmp("hello")
引数(parameters)
other_str
- other_str: 比較対象となる文字列
戻り値(return)
Integer または nil
指定された二つの文字列を、大文字小文字を区別せずに比較した結果を整数で返します。一致しない場合はnilを返します。