RubyのリハビリでFizzBuzz問題
同僚からRubyの質問を受けることが多くなりました。 というわけで、RubyのリハビリがてらにFizzBuzz問題をやってみました。 ええ?Rubyに見えないって? Ruby on Railsやる人はこれくらいのコードは書けないといけないようです。^^ P.S. 関係ないですが、それにしてもtDiaryのソース貼りつけは落とし穴いっぱいですね。空行はダメなんですね。ちょっとハマりました。
#!/usr/local/bin/ruby
fizzbuzz_in_range = lambda { |range|
fizzbuzz = lambda { |x|
(0 == x % 15) ? 'FizzBuzz' :
((0 == x % 3 ) ? 'Fizz' :
((0 == x % 5 ) ? 'Buzz' : x.to_s)) }
range.map( &fizzbuzz ) }
print fizzbuzz_in_range.call( (1..100) ).map { |x| x + ' ' }, "\n"