logo       

[ruby-list:42445] Re: 日本語でのString#casecmpの利用について: msg#00099

lang.ruby.japanese

Subject: [ruby-list:42445] Re: 日本語でのString#casecmpの利用について

まつもと ゆきひろです

In message "Re: [ruby-list:42443] 日本語でのString#casecmpの利用について"
on Thu, 22 Jun 2006 15:43:03 +0900, Eito Katagiri
<eito-HWss5khfY+4@xxxxxxxxxxxxxxxx> writes:

|Shift_JISでエンコードされたひらがなや漢字を含む文字列に対して、
|String#casecmpを使用するとどのような動作が期待できるのでしょうか?

ASCIIの範囲以外では単純なバイトごとの比較をするはずです。

|ruby 1.8.1 (2003-12-25) [i686-linux]をRedHat Linux 9上で、
|
| $KCODE = "S"
| "\202\320".casecmp("\202\323")
|
|を実行すると"0"が帰ってきます。"\202\320"と"\202\323"は、それぞれ、Shift_JIS
|で、"ひ"と"ふ"になります。

手元のruby 1.8.4 (2006-05-22) [i386-linux]では -1 になります。
1.8.1はずいぶん古いですが、その辺の動作は変わっていないはず
なんですが。おかしいなあ。




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise