> 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