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

「世界のナベアツ − の倍数と3がつく数字のときだけアホになります」をRubyで

  

def sekaino_nabeatsu_aho(str, en)
  normal = ['ぜろ', 'いち', '', 'さん', 'よん', '', 'ろく', 'しち', 'はち', 'きゅう', 'じゅう']
  aho = ['ぞぇーろぉ', 'うぃっち', 'ぬぃ', 'さぁーーーん', 'よぉぉん', 'ごぉぉぉ',
         'りょくぁああ', 'しぃぃっち', 'はぁぁち', 'きゅうーーーーーー', 'ぜーう']

  f = normal
  for i in str..en
    f = aho if 0 == i%3 or i.to_s.include? "3"
    
    if i <= 10
      puts f[i]
      next
    end
    for j in 1..9
      if (j*10) <= i and i < ((j+1)*10)
        w = f[j]+f[10]+f[i%10]
        w = f[10]+f[i%10] if 10 < i and i < 20
        w = f[j]+f[10] if 0 == i%10
        puts w
      end
    end
  end
end

sekaino_nabeatsu_aho(1, 40)

結果

いち
に
さぁーーーん
よん
ご
りょくぁああ
しち
はち
きゅうーーーーーー
じゅう
じゅういち
ぜーうぬぃ
ぜーうさぁーーーん
じゅうよん
ぜーうごぉぉぉ
じゅうろく
じゅうしち
ぜーうはぁぁち
じゅうきゅう
にじゅう
ぬぃぜーううぃっち
にじゅうに
ぬぃぜーうさぁーーーん
ぬぃぜーうよぉぉん
にじゅうご
にじゅうろく
ぬぃぜーうしぃぃっち
にじゅうはち
にじゅうきゅう
さぁーーーんぜーう
さぁーーーんぜーううぃっち
さぁーーーんぜーうぬぃ
さぁーーーんぜーうさぁーーーん
さぁーーーんぜーうよぉぉん
さぁーーーんぜーうごぉぉぉ
さぁーーーんぜーうりょくぁああ
さぁーーーんぜーうしぃぃっち
さぁーーーんぜーうはぁぁち
さぁーーーんぜーうきゅうーーーーーー
よんじゅう

だれか気持ちよくなる版も作ればいいと思う。
 
イデアはこちらから
新しくプログラミング言語を覚えたいときに行うべき10の練習問題 | IDEA*IDEA