为什么Scala地图在使用foreach迭代时会打印一个额外的值?

Jor*_*son 2 scala map

迭代遍历地图时:

val powers = Map("Spark man" -> "Electricity", "Bubble man" -> "Fires Bubbles", "Guts man" -> "No idea")
println(powers.size)
println(powers.foreach(man => println(man._1 + " -> " + man._2)))
Run Code Online (Sandbox Code Playgroud)

为什么在打印时似乎产生第四个项目:

3
Spark man -> Electricity
Bubble man -> Fires Bubbles
Guts man -> No idea
()
Run Code Online (Sandbox Code Playgroud)

最后一行的括号是令我困惑的部分.

你可能会说我对这门语言很陌生,所以它可能很简单,但我似乎无法找到与此相关的任何内容.

Raf*_*aez 5

你有最后一行2 println

println(powers.foreach(man => println(man._1 + " -> " + man._2)))
Run Code Online (Sandbox Code Playgroud)

内部println是打印3个人的线,外部是打印的()