uribo / zipangu

Japanese utility functions and data
https://uribo.github.io/zipangu
Other
56 stars 7 forks source link

Add convert_prefecture() function #48

Closed Doubt-0KB closed 2 years ago

Doubt-0KB commented 2 years ago

47 で提案させていただいた都道府県名を変換する関数を追加しました。

convert_prefecture(c("東京", "大阪府", "北海道", "全国"), to="roman")

> [1] "Tokyo-to" "Osaka-fu" "Hokkaido" "All"


- ひらがな・カタカナ→漢字の変換
```{r}
convert_prefecture_from_hirakana(c("トウキョウト", "おおさか"))
#> [1] "東京都" "大阪府"

convert_prefecture_from_hirakana(c("キョウト", "おおさか"))
#> [1] "京都府" "大阪府"
uribo commented 2 years ago

@Doubt-0KB 確認が遅くなりまして申し訳ありません。 現在いただいている実装ではdevtools::check()に引っ掛かっていますので、テストを通るように修正いただけますでしょうか。

問題となっている箇所はコード中のマルチバイト文字です。これらの文字列は \uxxxx の形式でエスケープしておく必要があります。

Doubt-0KB commented 2 years ago

マルチバイト文字のエスケープ対応について実施しました。

また、手元で確認していたところ都道府県名の一部だけでも変換ができてしまうバグがあったため、完全一致した場合に変換するように変更しました。

#修正前
convert_prefecture("O", to="kanji")
#> [1] "大阪府"

#修正後
convert_prefecture("O", to="kanji")
#> Error in convert_prefecture_to_kanji(x) : 存在しない地域が含まれています

それに伴い、関数が冗長にならないよう各種の都道府県名を変数化しました。現状では関数の冒頭に並べていますが、必要であれば別にファイルで追加する形にします。

uribo commented 2 years ago

コメントですが、prefecture_kanji_long,prefecture_kanji_short等、都道府県名のベクトルをたくさん作るのもややこしいので、これらのベクトルを一つのリストにまとめるのはどうでしょうか

Doubt-0KB commented 2 years ago

コメントありがとうございます。 都道府県名の各ベクトルについてはリスト化で対応しました。 また、NEWS.mdへの文章追加とtestコードの作成についても実施しました。

uribo commented 2 years ago

@Doubt-0KB 対応いただき、ありがとうございました。マージさせていただきました。#47 close となります。