【发布时间】:2011-02-26 18:53:23
【问题描述】:
Map 上的很多函数都将键值元组上的函数作为参数。例如。 def foreach(f: ((A, B)) ⇒ Unit): Unit。所以我找了一个简短的方法来给foreach写一个论点:
> val map = Map(1 -> 2, 3 -> 4)
map: scala.collection.immutable.Map[Int,Int] = Map(1 -> 2, 3 -> 4)
> map.foreach((k, v) => println(k))
error: wrong number of parameters; expected = 1
map.foreach((k, v) => println(k))
^
> map.foreach({(k, v) => println(k)})
error: wrong number of parameters; expected = 1
map.foreach({(k, v) => println(k)})
^
> map.foreach(case (k, v) => println(k))
error: illegal start of simple expression
map.foreach(case (k, v) => println(k))
^
我可以的
> map.foreach(_ match {case (k, v) => println(k)})
1
3
还有更好的选择吗?
【问题讨论】: