最初、tr で変換すると文字化けしてしまった。tr で日本語を使うには require "jcode" する必要があるらしい。 #!/usr/bin/env ruby -w # -*- coding: utf-8 -*- $KCODE = "u" require "jcode" # String クラスの tr メソッドで日本語を使用可能にする。 ### ひらがな・カタカナ変換 def translator(from, to) lambda {|str| str.tr(from, to) } end upto = translator("a-z", "A-Z") downto = translator("A-Z", "a-z") hira2kata = translator("ぁ-ん", "ァ-ン") kata2hira = translator("ァ-ン", "ぁ-ん") puts up