こんにちは。現在携わっている案件で、ひらがなをカタカナにする必要があったので、
その方法のメモ書きです。
確認環境
- ruby1.9.2
- Rails 3.1.3
Rubyでとりあえずやってみる
- rubyコード
'こんにちは'.tr('ぁ-ん','ァ-ン')
- 結果
簡単ですね^^;;
さすがruby先生です。
Railsでto_kanaメソッドを作る
Rubyだと簡単にカタカナに変換できるのですが、毎回上記のようにtr
メソッドで書くの面倒くさいですよね。
'こんにちは'.to_kana
みたいに書けたら楽ですよね。
ということで作ってみました。
tr
メソッドがStringクラスのメソッドなので、Stringクラスを拡張しましょう。
以下のようにファイルを作成
- /lib/module/string_extention.rb
# -*- coding: utf-8 -*-
class String
def to_kana
self.tr('ぁ-ん','ァ-ン')
end
end
上記で作成したファイルを読み込むようにしましょう。
"/initializers"以下に適当にファイルを作成しましょう。
私は"/initializers/load_module.rb"としました。
Dir.glob(File.join(Rails.root, 'lib', 'module', '*.rb')) do |file|
load file
end
"lib/module"以下をすべて読むような形にしました。
rails console
コマンドを叩いて確かめてみましょう。
'こんにちは'.to_kana
- 結果
できました。
これでひらがなからカタカナへの変換が楽になりますね。
ちなみに漢字やローマ字の文字にto_kana
をすると何もおきません。元の文字が表示されます。
※ to_kana
がひらがなへの変換なのかカタカナへの変換なのかわかりにくいという意見があるので何か良い命名があれば教えてください。