如何在scala中编写不可变的foreach映射?

如何在scala中编写不可变的foreach映射?,scala,dictionary,foreach,Scala,Dictionary,Foreach,我试图在scala.collection.immutable.Map上使用foreach方法。但无论我如何更改格式,我都会收到一个编译错误。我引用了问题:,但它仍然不起作用: val m = Map[String, Int]("a" -> 1, "b" -> 2, "c" -> 3) m.foreach(p => println(">>> key=" + p._1 + ", value=" + p._2)) 或: 两份报告: type mismatch

我试图在
scala.collection.immutable.Map
上使用
foreach
方法。但无论我如何更改格式,我都会收到一个编译错误。我引用了问题:,但它仍然不起作用:

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

两份报告:

type mismatch; found : Unit required: String

我的Scala库版本是2.10.4,我的eclipse版本是4.3.2。

它似乎认为整个计算的结果应该是基于您没有向我们展示的一些周围上下文的字符串,但是foreach的类型(以及您的整个表达式)是UnitYah,我们需要更多。您可能打算使用
map
后接
mkString
map
转换为
String
。在这种情况下,请删除
println
type mismatch; found : Unit required: String