久しぶりのScala Tips。Scalaをそこそこ使っている人でも意外と知らない方が多いようなので、一応。
たとえば、以下のようなコードがあったとする(やや恣意的な例だが):
List("A", 1, 1.0, true, Nil).foreach{e => e match { case _: Int => println("Int") case _: Double => println("Double") case _: String => println("String") case _: Boolean => println("Boolean") case _ => println("?") }}
このとき、e => e match { case ... }のようなパターンに関しては専用の略記法が用意されているおり、以下のように書くことができる。このパターンは高階関数を使うときに頻出するため、覚えていて損は無いと思う。
List("A", 1, 1.0, true, Nil).foreach{ case _: Int => println("Int") case _: Double => println("Double") case _: String => println("String") case _: Boolean => println("Boolean") case _ => println("?") }