プログラミングお題に挑んでみた:FizzBuzz編

※12/15 コード修正、内容加筆
お題:FizzBuzz - No Programming, No Life への挑戦。単純なのはすぐにかけるが、よりよい書き方はないか考えてもなかなか思いつかず、参考になるものを調べるとその書き方は出来ないので更に悩んでしまったので、思いついた限りを書くことにしました。

eachだけを使う場合、内部にprint文を書くので「FizzBuzzを出力する」記述は省略できました。collectを使うと、collectに判定を、eachに出力を分けてかけるので、よりシンプルにかけたと思います。collect内での判定にswitchを使うとステップ数は少なそうですが、if文とどちらが見やすいかな。
3の1行書きは前回つながりのネタです。三項演算子は、私は基本的はプライベートコード(言語仕様のために書かざるを得ない面倒くさいコードや、言葉を定義できる5行程度のコードをメソッド抽出したもの)で書きます。オープンな場所で書きたいときは"?"と":"で改行して3行で書いたほうが読みやすいです(なので大抵はif文をつかう)。