Tech Racho エンジニアの「?」を「!」に。
  • 開発

Rails 3.1でひらがなをカタカナに変換する方法

こんにちは。現在携わっている案件で、ひらがなをカタカナにする必要があったので、
その方法のメモ書きです。

確認環境

  • ruby1.9.2
  • Rails 3.1.3

Rubyでとりあえずやってみる

  • rubyコード
'こんにちは'.tr('ぁ-ん','ァ-ン')
  • 結果

kana

簡単ですね^^;;
さすが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
  • 結果

kana2

できました。
これでひらがなからカタカナへの変換が楽になりますね。

ちなみに漢字やローマ字の文字にto_kanaをすると何もおきません。元の文字が表示されます。

to_kanaがひらがなへの変換なのかカタカナへの変換なのかわかりにくいという意見があるので何か良い命名があれば教えてください。


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。