> Aside from the one posted just after you sent this, there actually
> have been one or two solutions using inject already, but nothing that
> really seems to take advantage of it.  Of course, when I try to
> construct such a solution, I can't do much better - inject is a
> relatively specialized tool, and works best when the output of inject
> is then useful in some material way, rather than when it's being
> executed purely for its side effects.

IMO, the only thing you would need inject here is to store the output
of the program in a string rather than just print it. So, consider it
another solution.

str = (1..100).inject('') do |s, n|
  s + (
    if (n3 = n % 3 == 0) & (n5 = n % 5 == 0)
      "FizzBuzz"
    elsif n3
      "Fizz"
    elsif n5
      "Buzz"
    else
      n.to_s
    end
  ) + "/n"
end

puts str


Excuse my "/n", but I cannot find the backslash in this crappy
computer ><

> Didn't you hear? Google is developing a soft drink containing nothing
> but carbonation and caffeine.

Yay! Google drinks!

__________________________________________

Dictionary is the only place that success comes before work. - Vince
Lombardi