Ruby 3.2 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Symbolクラス > casecmp
casecmp(other) -> -1 | 0 | 1 | nil
[permalink][rdoc]Symbol#<=> と同様にシンボルに対応する文字列の順序を比較しますが、アルファベットの大文字小文字の違いを無視します。
Symbol#casecmp? と違って大文字小文字の違いを無視するのは Unicode 全体ではなく、A-Z/a-z だけです。
:aBcDeF.casecmp(:abcde) #=> 1
:aBcDeF.casecmp(:abcdef) #=> 0
:aBcDeF.casecmp(:abcdefg) #=> -1
:abcdef.casecmp(:ABCDEF) #=> 0
:"\u{e4 f6 fc}".casecmp(:"\u{c4 d6 dc}") #=> 1
other がシンボルではない場合や、文字列のエンコーディングが非互換の場合は、nil を返します。
:foo.casecmp("foo") #=> nil
"\u{e4 f6 fc}".encode("ISO-8859-1").to_sym.casecmp(:"\u{c4 d6 dc}") #=> nil
[SEE_ALSO] String#casecmp, Symbol#<=>, Symbol#casecmp?