在尝试使用 scala 中的选项时,我遇到了这个特殊的问题。
我开始创建一个 List[Option[Int]] 如下:
scala> List(Some(1),Some(2),None,Some(3))
res0: List[Option[Int]] = List(Some(1), Some(2), None, Some(3))
然后我尝试在 res0 中的列表条目上映射 1 的添加,如下所示:
scala> res0 map (_ + 1)
这给了我错误:
<console>:9: error: type mismatch;
found : Int(1)
required: String
res0 map (_ + 1)
^
然后我尝试对条目进行 flatMapping 的添加,如下所示:
scala> res0 flatMap (_ + 1)
这给了我同样的错误:
<console>:9: error: type mismatch;
found : Int(1)
required: String
res0 flatMap (_ + 1)
^
但是类似的东西res0.flatMap(r => r)
效果很好,结果是:
res9: List[Int] = List(1, 2, 3)
谁能告诉我为什么将条目添加到 1 对 map 和 flatMap 都会失败?