はじめに もうすぐ平成が終わりますね。 元号変更に伴い、漢数字を処理しなければならないエンジニアもそこそこ多いのではないでしょうか?( 私です ) 思考停止したい そこで漢数字を数字に変換する方法を検索すると、 漢数字を変換するgemやサンプルコードが見つかるものの、ループや再帰などを使用したもので、安心して思考停止できないことが気になりました。 そこで、思考停止するために本気で思考し、上手く思いついたので内容を共有します。 わずか7行 ループも再帰も使わない、わずか7行のコードになりました。 多分これが一番簡単だと思います。 def convert_kansuji(text) text.tr('〇一二三四五六七八九', '0123456789') .gsub(/(\d+)?十(\d+)?/) { ($1 || 1).to_i * 10 + $2.to_i } .gsub(/(\d+)?百