今さらにFizzBuzz

まぁ、いい加減流行りを過ぎて、弊社では採用面接の際にこの手のを入れることに決定したFizzBuzzですが、「 Lisp風Javaの解 」を見つけたので触発されて、「C風Ruby」で。

format_table = {
  0 => "FizzBuzz", 3 => "Fizz", 5 => "Buzz",
  6 => "Fizz", 9 => "Fizz", 10 => "Buzz", 12 => "FIzz" 
}
format_table.default = "%d"

(1..100).each do |i|
  puts format_table[i%15] % i
end

つーか、Cで同じものを回答した人は既に絶対にいるだろうけれども。

コンパイラと仲良しな先輩方に影響されて育つとこうなる。でも、Cの気持ちに戻ってくると、Hashを使うコストとかformatのparseコストとか数値出力の基数変換コストとか剰余のコストが富豪的に見えてちょっとやましい気持ちになる。除算とか、ましてハッシュ関数を呼ぶとかはものすごーく高価だったよなぁ。そのへんはやっぱりまだRuby風が残っている回答なのでした。