Escribir funciones de tuplas convenientemente en Scala
Algunas funciones enMap
tomar una función en una tupla de clave-valor como argumento. P.ej.def foreach(f: ((A, B)) ⇒ Unit): Unit
. Así que busqué una forma corta de escribir un argumento paraforeach
:
> 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))
^
puedo hacer
> map.foreach(_ match {case (k, v) => println(k)})
1
3
¿Alguna mejor alternativa?