関数型言語の流行のせいなのか知らんけど、if文よりもパターンマッチングが良いという話をたまに耳にする。それが今どきなコードなんでしょうか?
FizzBuzzで言うと、こういう書き方らしい。
(1 .. 100).each { |i| case [i % 3 == 0 , i % 5 == 0] when [true, true] p "FizzBuzz" when [true, false] p "Fizz" when [false, true] p "Buzz" when [false, false] p i end }
普通にif文でFizzBuzz書くと、3と5両方で割りきれる条件を先頭する必要がありますが、このコードでは順番に依存しないというのが興味深い点です。
まー、if文でも順番に依存しないコードを書けるし、パターンマッチングは必ず順序非依存というわけではありませんけど…、悪くないですね。