ScalaでFizzBuzz

def fizzbuzz(in: Int): String = in match {
  case x if x % 15 == 0 => "FizzBuzz"
  case x if x % 5 == 0 => "Buzz"
  case x if x % 3 == 0 => "Fizz"
  case x => x.toString
}

(1 to 100).map(fizzbuzz).foreach(println)

こう書いてから、書き直して以下のようになった。

(1 to 100).map {
  case x if x % 15 == 0 => "FizzBuzz"
  case x if x % 5 == 0 => "Buzz"
  case x if x % 3 == 0 => "Fizz"
  case x => x.toString
}.foreach(println)

書いたあとググったら色々な解が出てきた。面白い。groupByなんてあるんですね。

Blog not found