From: matz@... (Yukihiro Matsumoto) Date: 1997-11-21T12:13:26+09:00 Subject: [ruby-list:5381] Re: Hash bug ?? まつもと ゆきひろです In message "[ruby-list:5380] Hash bug ??" on 97/11/21, tamori@sm.sony.co.jp writes: |田守と申します。その存在はちょっと前から偶然知ってたんですが(Webのサー |チでひっかかったんで試しにダウンロードしてちょっと動かしてそのまま) |TRY PC!の記事を読んで思いだし、rubyをいじりだして面白さにはまっている |ところです。 どうもです.ところで TRY!PC 季刊になっちゃいましたね.なんか 悪い気がしてます. |謎のエラー と書いてあるように0xc0(=192)(半角のタ)というキーで |ハッシュをひくとなぜかnilが返されてしまいます。これはバグ? おかしいですねえ.うちではちゃんと引けるんです.なにが違うん でしょうか? たとえば Table1 = { # 変換テーブル(EUC) 0xa1 => [0xa1,0xa3], 0xa2 => [0xa1,0xd6], 0xa3 => [0xa1,0xd7], (略) 0xdd => [0xa5,0xf3], 0xde => [0xa1,0xab], 0xdf => [0xa1,0xac] } p Table1[192] で nil になります? |それから今は不細工な方法で文字コードから文字列へ変換して文字列の |concatinateをやっているのですが、文字コードを簡単に文字列にくっつける |方法はありませんでしょうか。 簡単と言えば str = format("%s%c" str, c) ああ,大名な…. |#あともっとスマートな半角全角変換方法も… print Kconv::kconv(test, Kconv::JIS, Kconv::SJIS), "\n" なんてのはいかがでしょう? ちゃんと変換してくれます. まつもと ゆきひろ /:|)