2
object Main {
val list = List[Long]()
val map1 = Map[Long, List[Long]]()
val map2 = Map[Long, Long]()
def main(args: Array[String]): Unit = {
for {
a: Long <- list
b: List[Long] <- map1.get(a)
c: Long <- b
d: Long <- map2.get(c)
} yield d
}
}
a,b,c,d的类型已被声明只是为了便于分析代码。斯卡拉循环意外编译错误
然后我得到了意外的编译错误:
Error:(10, 15) type mismatch;
found : List[Long]
required: Option[?]
c: Long <- b
类型的b
是一个列表,我觉得c
应该指的是在列表b
为什么编译器预计b
应该是每个项目选择什么?