Scala で FizzBuzz

今更だけど、FizzBuzzやってみる。

「1から100までの数字を画面に表示する」「3の倍数のときは数字の代わりにFizzと表示する」「5の倍数のときは数字の代わりにBuzzと表示する」「15の倍数のときは数字の代わりにFizzBuzzと表示する」プログラム

フィズバズ問題 (FizzBuzz問題)

なんか、Twitterで時々出てきてなんだろうと思ってたけど、思ったより単純な問題だった。

シンプルに。Scala で書くならパターンマッチで書くのがデフォかな。

def fizzBuzz(n: Int): String = {
  n match {
    case fbzz if fbzz % 15 == 0 => "FizzBuzz"
    case fizz if fizz % 3 == 0  => "Fizz"
    case buzz if buzz % 5 == 0  => "Buzz"
    case num => num.toString
  }
}

(1 to 100).map(fizzBuzz).foreach(println)</pre>

これだけ。少し気になった。