条件分岐とルックアップテーブル

バイト先の方のブログでFizzBuzz問題というのをやっていたのでうちでもやってみた.

(参考)FizzBuzz問題Rubyで書くと | ysakaki.com, http://ysakaki.com/?p=167


条件分岐の代わりにルックアップテーブルにしてみた.

fizz = ["Fizz","",""]
buzz = ["Buzz","","","",""]
1.upto 100 do |i|
if ((i%3)*(i%5)==0)
puts fizz[i%3]+buzz[i%5]
else
puts i
end
end

14行→9行に圧縮.
でもやっぱりif文が一つ余るなあ.

似た感じで,牛タンゲームも難しい気がする.
牛タンゲームのn番目の人は牛なのかタンなのかって一発で判別できるのかな.