世界のナベアツに Ruby で挑戦する

今更のような内容ですが、むかし見つけたのをメモメモ。


メソッド名に日本語を使っているので

  def self.run
    1.から(40).まで数えて{
      各々は{3.の倍数.と{3.がつく数字}.のときだけ{アホに}}.なって{
      5.の倍数.のときだけ{犬に}}.なって{
      8.の倍数.のときだけ{気持ちよく}}.なります
    }
  end

と「世界のナベアツ」の定義が日本語で書かれてたり(不自然に記号が挟まってるけど)、結果が、

1
2
さ〜ん
4
ごバフッ
ろ〜く
7
はちぃ〜〜ッ
き〜ゅう
じゅうバフッ
11
じ〜ゅうに
じ〜ゅうさん
14
じ〜ゅうごバフッ
じゅうろくぅ〜〜ッ
17
じ〜ゅうはち
19
にじゅうバフッ

と、それっぽい日本語の読みで表示されたりする。


ちなみに、100から109までが、「ひゃくじゅう〜」となってしまう。

98
き〜ゅうじゅうきゅう
ひゃくじゅうバフッ
101
ひ〜ゃくじゅうに
ひ〜ゃくじゅうさん
ひゃくじゅうよん〜〜ッ
ひ〜ゃくじゅうごバフッ
106
107
ひ〜ゃくじゅうはち
109
ひゃくじゅうバフッ
ひ〜ゃくじゅういち

読みの変換処理で失敗してるんだろうけど…。


久々に見たら修正がされてたので、確認(と手直しが出来たら)しようかと思ったけど、Windowsで動かしたら「Invalid char `\343' in expression」って怒られた、UTF8に対応してないのか…。ちなみに、「ruby 1.8.6 (2008-03-03 patchlevel 114) [i386-mswin32]」です。