Ruby 4.1 リファレンスマニュアル

instance method String#casecmp

casecmp(other) -> -1 | 0 | 1 | nil[permalink][rdoc][edit]

String#<=> と同様に文字列の順序を比較しますが、アルファベットの大文字小文字の違いを無視します。

このメソッドの動作は組み込み変数 $= には影響されません。

String#casecmp? と違って大文字小文字の違いを無視するのは Unicode 全体ではなく、A-Z/a-z だけです。

[PARAM] other:
self と比較する文字列
p "aBcDeF".casecmp("abcde")   #=> 1
p "aBcDeF".casecmp("abcdef")  #=> 0
p "aBcDeF".casecmp("abcdefg") #=> -1
p "abcdef".casecmp("ABCDEF")  #=> 0

nil は文字列のエンコーディングが非互換の時に返されます。

p "\u{e4 f6 fc}".encode("ISO-8859-1").casecmp("\u{c4 d6 dc}") #=> nil

[SEE_ALSO] String#<=>, Encoding.compatible?