如何调用 getOrElse + foreach
How to call getOrElse + foreach
假设我有案例 class,上面有 Option[Map[String, String],我想迭代抛出它。
此代码在 Scala 2.13 中有效,但在 Scala 2.11 中构建失败。
some.getOrElse(None).foreach {
case (key: String, value: String) =>
if true doSomething
}
它说 Cannot resolve symbol foreach
如何解决?
它无法在 2.13(或 2.12)上编译,因此您的代码显然存在问题。
我认为你想做的是:
some.map(_.map {
case (key: String, value: String) =>
???
})
如果 some
是 None
,这将 return None
,否则它将在 Map
和 [=23] 上调用 map
=] 结果在 Some(?)
.
为什么不默认为空地图?
some.getOrElse(Map.empty()).foreach {
case (key: String, value: String) =>
if true doSomething
}
假设我有案例 class,上面有 Option[Map[String, String],我想迭代抛出它。
此代码在 Scala 2.13 中有效,但在 Scala 2.11 中构建失败。
some.getOrElse(None).foreach {
case (key: String, value: String) =>
if true doSomething
}
它说 Cannot resolve symbol foreach
如何解决?
它无法在 2.13(或 2.12)上编译,因此您的代码显然存在问题。
我认为你想做的是:
some.map(_.map {
case (key: String, value: String) =>
???
})
如果 some
是 None
,这将 return None
,否则它将在 Map
和 [=23] 上调用 map
=] 结果在 Some(?)
.
为什么不默认为空地图?
some.getOrElse(Map.empty()).foreach {
case (key: String, value: String) =>
if true doSomething
}