読者です 読者をやめる 読者になる 読者になる

整数を英語へ変換

ruby
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  => &#39;zero&#39;,
		  1  => &#39;one&#39;,
		  2  => &#39;two&#39;,
		  3  => &#39;three&#39;,
		  4  => &#39;four&#39;,
		  5  => &#39;five&#39;,
		  6  => &#39;six&#39;,
		  7  => &#39;seven&#39;,
		  8  => &#39;eight&#39;,
		  9  => &#39;nine&#39;,
		  10 => &#39;ten&#39;,
		  11 => &#39;eleven&#39;,
		  12 => &#39;twelve&#39;,
		  13 => &#39;thirteen&#39;,
		  14 => &#39;fourteen&#39;,
		  15 => &#39;fifteen&#39;,
		  16 => &#39;sixteen&#39;,
		  17 => &#39;seventeen&#39;,
		  18 => &#39;eighteen&#39;,
		  19 => &#39;nineteen&#39;,
		  20 => &#39;twenty&#39;,
		  30 => &#39;thirty&#39;,
		  40 => &#39;fourty&#39;,
		  50 => &#39;fifty&#39;,
		  60 => &#39;sixty&#39;,
		  70 => &#39;seventy&#39;,
		  80 => &#39;eighty&#39;,
		  90 => &#39;ninety&#39;,
		}
	end
end

gistの埋め込みのテストも兼ねて。プログラミング言語を触っていて便利ダナーとおもうのは、剰余の演算子があることだなあ。小学校の算数で剰余が出てきた時点で、剰余の演算子を教えてあげるべきだとおもうんだけどなあ。

たくさんgist貼ると重くなるし、どうせ書き捨てなのでベタ書きすることにした。