Mapオブジェクトのmapメソッドのscaladocによると、新しいMapを返す必要があります。
def map [B] (f: ((A, B)) ⇒ B) : Map[B]
「指定された関数fをこのマップの各要素に適用し、結果を収集した結果の新しいマップを返します。」
しかし、そうではありません。
scala> val countries = Map("NO" -> "Norway", "US" -> "United States", "DE" -> "Germany")
countries: scala.collection.immutable.Map[java.lang.String,java.lang.String] = Map((NO,Norway), (US,United States), (DE,Germany))
countries map { _._1 }
res4: scala.collection.immutable.Iterable[java.lang.String] = List(NO, US, DE)
ただし、この動作は私が期待するものです。それで、ドキュメントは間違っていますか、それとも私は何かが欠けていますか?