scala> val l = List((1,2), (2,3))
l: List[(Int, Int)] = List((1,2), (2,3))
tôi có thể làmdanh sách lần của bản ghi trong scala với destructuring
scala> (0 /: l) {(a, i) => i._1 + a}
res20: Int = 3
Nhưng tôi muốn để có thể đặt tên cho các phần tử của tuple. Một cái gì đó như:
scala> (0 /: l) {(a, (b,c)) => b + a}
<console>:1: error: not a legal formal parameter
(0 /: l) {(a, (b,c)) => b + a}
^
Tôi biết tôi có thể làm:
scala> (0 /: l) {(a, i) => val (b, c) = i; b + a}
res0: Int = 3
Nhưng có một cách để làm cho đoạn code ngắn gọn hơn (mã thật của tôi bao gồm nhiều nếp gấp như vậy và tôi không thích cần phải phát minh ra một tên biến ('i' trong ví dụ trên) cho mỗi)