class Integer def english_name(delimiter='-') if self < 20 english_table[self] else ret = english_table[(self / 10) * 10] (self % 10) == 0 ? ret : ret + delimiter.to_s + english_table[self % 10] end end private def english_table { 0 => 'zero', 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', 6 => 'six', 7 => 'seven', 8 => 'eight', 9 => 'nine', 10 => 'ten', 11 => 'eleven', 12 => 'twelve', 13 => 'thirteen', 14 => 'fourteen', 15 => 'fifteen', 16 => 'sixteen', 17 => 'seventeen', 18 => 'eighteen', 19 => 'nineteen', 20 => 'twenty', 30 => 'thirty', 40 => 'fourty', 50 => 'fifty', 60 => 'sixty', 70 => 'seventy', 80 => 'eighty', 90 => 'ninety', } end end
gistの埋め込みのテストも兼ねて。プログラミング言語を触っていて便利ダナーとおもうのは、剰余の演算子があることだなあ。小学校の算数で剰余が出てきた時点で、剰余の演算子を教えてあげるべきだとおもうんだけどなあ。
たくさんgist貼ると重くなるし、どうせ書き捨てなのでベタ書きすることにした。