scala> val l = List((1,2), (2,3))
l: List[(Int, Int)] = List((1,2), (2,3))
Я могу сделать
scala> (0 /: l) {(a, i) => i._1 + a}
res20: Int = 3
Но я хочу иметь возможность назвать элементы кортежа. Что-то вроде:
scala> (0 /: l) {(a, (b,c)) => b + a}
<console>:1: error: not a legal formal parameter
(0 /: l) {(a, (b,c)) => b + a}
^
Я знаю, что могу сделать:
scala> (0 /: l) {(a, i) => val (b, c) = i; b + a}
res0: Int = 3
Но есть ли способ сделать код более лаконичным (мой реальный код включает в себя несколько таких сгибов, и мне не нравится изобретать имя переменной ('i' в примере выше) для каждого)