Scalaのcase
てっきり、matchを使う時の文法要素に過ぎないのかと思っていたんだけど、こんなところにも書けるのか。
object Test {
def main(args: Array[String]) {
val data = Map(1 -> "A", 2 -> "B")
val values = data map {
case (key, value) => value
}
values.foreach(println(_))
val keys = data map {
case (key, value) => key
}
keys.foreach(println(_))
}
}
shanai@shanai-desktop:/tmp$ scala Test
A
B
1
2
奥が深い。というか、_ match {...}を省略して書けるってことなんだろうか。








