1. ホーム
  2. scala

[解決済み] Scala マップ foreach

2022-02-16 02:51:10

質問

が与えられた。

val m = Map[String, Int]("a" -> 1, "b" -> 2, "c" -> 3)
m.foreach((key: String, value: Int) => println(">>> key=" + key + ", value=" + value))

なぜコンパイラは文句を言うのか

error: type mismatch
found   : (String, Int) => Unit
required: (String, Int) => ?

解決方法は?

map.foreachはタプル引数の関数リテラルを想定しています。

だから

m.foreach((e: (String, Int)) => println(e._1 + "=" + e._2))

作品