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
还有更好的选择吗?
最佳答案
您非常接近map.foreach(case (k, v) => println(k))
。要在匿名函数中使用 case
,请用大括号将其括起来。
map foreach { case (k, v) => println(k) }
关于scala - 在Scala中方便地编写元组函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2957254/