Довольно много функций на 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
Есть ли лучшие альтернативы?