まつもと ゆきひろです

In message "[ruby-list:25835] 半角カナ変換"
    on 00/11/07, Katsuya Tanaka <tanaka / esd.spr.epson.co.jp> writes:

|cgi のプログラム中、半角カナを全角カナに変換したいのですが、
|
|ruby は
|>ruby -v
|ruby 1.6.1 (2000-09-27) [i386-freebsdelf3.5.1]
|です。

まずjcodeにバグがありました。パッチを添付します。

しかし、この修正を行っても結果は「アィイゥウ」です。
半角カナと全角カナで対応していないからです。

でもkconvを使うなら

  print NKF.nkf("-Ss", "アイウエオ"), "\n";

とかで変換できそう。

--- lib/jcode.rb	2000/09/25 17:51:29	1.11
+++ lib/jcode.rb	2000/11/07 08:59:08
@@ -7,4 +7,4 @@
   def _regex_quote(str)
-    str.gsub(/\W/){|s|
-      if s == "-" then s elsif s == "\\" then "\\\\" else "\\\\#{s}" end
+    str.gsub(/[][.\\|*?+{}()]/n){|s|
+      if s == "\\" then "\\\\" else "\\\\#{s}" end
     }