#2回目の人ごめんなさい(間違えて2つのMLに送信してしまいました)

よしかずといいます。

文字列中の全角の英数,記号を半角に変換するためのクラスを
作ったのですが、うまくできません。原因もわからないです。

どなたかお助け下さい。
おまけにコードもスマートじゃないし。
もっと良いやり方があれば教えてください。
#必ずしもRubyじゃなくても (^^;

結果  金属基聞膾猯賎MMC

|class Zen2han
|  def initialize
|    @zen=[]
|    @han=[]
|    for i in "A".."Z"
|      @zen<<i
|    end
|    for i in "A".."Z"
|      @han<<i
|    end
|    for i in "a".."z"
|      @zen<<i
|    end
|    for i in "a".."z"
|      @han<<i
|    end
|    for i in "0".."9"
|      @zen<<i
|    end
|    for i in "0".."9"
|      @han<<i
|    end 
|  end
|  def henkan(str)
|    str.gsub!(/ /," ")
|    str.gsub!(/./,".")
|    str.gsub!(/,/,",")
|    str.gsub!(/&/,"&")
|    str.gsub!(/─/,"-")
|    str.gsub!(/+/,"+")
|    str.gsub!(/%/,"%")
|    str.gsub!(/(/,"(")
|    str.gsub!(/)/,")")
|    @zen.each_with_index do |v,i|
|      str.gsub!(/#{v}/,"#{@han[i]}")
|    end
|    return str
|  end
|end
|
|test = Zen2han.new
|
|puts test.henkan("金属基複合材料(MMC)")