もっと短く「一反田えー(1反田A)」から「千反田える(1000反田L)」までを生成する
もっと短く書けるなーと思いまして。
// 一万未満のアラビア数字を漢数字に変換します
def arabicToKanji( int num ){
def kanjiNum = ["", "一", "二", "三", "四", "五", "六", "七", "八", "九" ]
def kanjiOrder = ["", "十", "百", "千"]
def order = num.toString().size()
num.toString().collect{
order--
def idx = it as Integer
( idx>=2 || order==0 )? kanjiNum[idx]+kanjiOrder[order] : (idx==0)? "" : kanjiOrder[order]
}.sum()
}
def alphabets = ["えー", "びー", "しー", "でぃー", "いー", "えふ", "じー", "えいち", "あい", "じぇい", "けー", "える", "えむ", "えぬ", "おー", "ぴー", "きゅー", "あーる", "えす", "てぃー", "ゆー", "ぶい", "だぶりゅー", "えっくす", "わい", "ぜっと"]
(1..1000).each{
println "${arabicToKanji(it)}反田${alphabets[(it-1)%alphabets.size()]}"
}
toString()
で文字列にしたやつを collect()
で一文字ずつ処理して sum()
で結合する感じで。中身の三項演算子のネストは可読性悪いね。
Author And Source
この問題について(もっと短く「一反田えー(1反田A)」から「千反田える(1000反田L)」までを生成する), 我々は、より多くの情報をここで見つけました https://qiita.com/_y_u_/items/86416d6134aa70b5e474著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .