これを書いてて思ったけど、C#3.0とRubyってかなり書き方似た感じになるなぁと思った。
C#3.0
Enumerable.Range(1, 100).Select(
n =>
{
if (n % 3 == 0 && n % 5 == 0) return "FizzBuzz";
if (n % 3 == 0) return "Fizz";
if (n % 5 == 0) return "Buzz";
return n.ToString();
}).ToList().ForEach(text => Console.Write("{0} ", text));
Ruby
(1..100).map{ |n|
n % 15 == 0 ? "FizzBuzz" :
n % 3 == 0 ? "Fizz" :
n % 5 == 0 ? "Buzz" : n.to_s
}.each { |n| print "#{n} " }
Rubyのが三項演算子を使ってるからちょっと読みにくいけど、1~100の間の数字を変換して出力って流れをさくっと書けるようになってる。