这是我的代码
def testMap() = {
val x = Map(
1 -> Map(
2 -> 3,
3 -> 4
),
5 -> Map(
6 -> 7,
7 -> 8
)
)
for {
(a, v) <- x
(b, c) <- v
} yield {
a
}
}
上面的代码给出
List(1, 1, 5, 5)
如果我将 for 理解的屈服值更改为a
,(a, b)
结果是
Map(1 -> 3, 5 -> 7)
如果我更改(a, b)
为(a, b, c)
,结果是
List((1,2,3), (1,3,4), (5,6,7), (5,7,8))
我的问题是确定结果类型的机制是什么?