Project

nihonjin

0.0
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Ruby has the NKF.nkf() method, but the options are unclear by just looking at them, so this gem has methods like hiragana() so you know what you're changing your strings to
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 1.11
~> 10.0
~> 3.0
 Project Readme

#nihonjin 日本人 🍣

日本語をもっと気楽に扱うためのgemです:octocat:

##インストール

$ gem install nihonjin

Moji 文字

いちいちnkfのオプションを調べるのはちょっと面倒でなのて、Mojiで簡単に定義することができます

moji = Nihonjin::Moji.new
moji.hiragana("hiragana ni naru.")
#=> "ひらがな に なる。"
moji.hiragana("ヒラガナ ニ ナル。")
#=> "ひらがな に なる。"
moji.katakana("かたかな に なる")
#=> "カタカナ ニ ナル"
moji.hankaku_katakana("hankaku katakana ni naru")
#=> "ハンカク カタカナ ニ ナル"

# Rubyではstripはありますが、日本語の文字に対応していないです
# 次のメソッドを使うと便利です
moji.hashigiri("     端 に ある 空白 を 切り落とす    ")
#=> "端 に ある 空白 を 切り落とす"

# すべての空白を切り落とすこともできる
moji.kiru("余計な 空白 を 切り落とす")
#=> "余計な空白を切り落とす"



# 出力コードもシンボルとして定義できます
moji.hiragana("hiragana ni naru.", :shift_jis)
#=> "\x{82D0}\x{82E7}\x{82AA}\x{82C8}\x{8140}\x{82C9}\x{8140}\x{82C8}\x{82E9}\x{8142}"
Nihonjin::EncodingTypes
#=> {:utf_8=>"-w", :shift_jis=>"-s", :iso_2022_jp=>"-j", :euc=>"-e"}

# リテラルも渡すことができます
moji.hiragana("hiragana ni naru.", "-w", "--mac")
#=> "ひらがな に なる。"
moji.hiragana("hiragana ni naru.", "-w --mac")
#=> "ひらがな に なる。"

##Suji 数字 次のメソッドでは、どんな値でも入れていい

suji = Nihonjin::Suji.new
# 今のところは、kanji_henkanは20桁まで変換できます
p suji.kanji_henkan(150)
#=> "百五十"
p suji.kanji_henkan(3521)
#=> "三千五百二十一"
p suji.kanji_henkan(27825672)
#=> "二千七百八十二万五千六百七十二"
p suji.kanji_henkan(623_367_289_348)
#=> "六千二百三十三億六千七百二十八万九千三百四十八"
p suji.kanji_henkan(56_004_223_746_273_373_565)
#=> "五千六百京四千二百二十三兆七千四百六十二億七千三百三十七万三千五百六十五"


p suji.zenkaku(300)
#=> "300"
p suji.hankaku("三〇〇")
#=> "300"

# kanji_henkanと違って、普通に数字をそのまま漢字に変換する
p suji.kanji(800)
#=> "八〇〇"
p suji.daiji("三")
#=> "参"

p Suji.type?(10)
#=> "半角"
p Suji.type?("10")
#=> "全角"
p Suji.type?("十")
#=> "漢字"
p Suji.type?("壱")
#=> "大字"


# to_iも使えます
# 尚、上にあるkanji_henkan()が返すような値ではto_iは使えません
p suji.to_i("三〇一")
#=> 301
p suji.to_i("301")
#=> 301
p suji.to_i("参零壱")
#=> 301