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