マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

あえて正規表現を使わずに

億とか京とかを見て書くことにした。MLでは何故だか正規表現で教えてほしいと書いてあるが、あえて正規表現を使わずに書いた。ただ最近Rubyを全然使って無いのでRubyを使いたかっただけだが。それより1ヶ月前のエントリへのトラックバックかっこいい!

#!/usr/bin/ruby -Ku
# -*- coding: utf-8 -*-

Units = [ ""  , "", "", "", "",
          "", "禾予", "", "", "",
          "", "", "", "恒河沙", "阿僧祇",
          "那由他", "不可思議", "無量大数"]

def to_jp_unit(num)
    ret = ""
    i = 0
    
    while(num > 0)
        amari = num % 10000
        ret = amari.to_s + Units[i] + ret if amari > 0
        i += 1
        num /= 10000
    end
    
    ret = "0" if ret.length == 0
    return ret
end

while line = gets
    num = line.to_i
    puts "#{num} -> #{to_jp_unit(num)}"
end