我对Scala很陌生,并且很难确定如何从Option
我的代码可以:
getResult( name, age, id).map(response =>
for {
accounts <- response._id_list // response.account_id_list is an Option[String]
ageList <- response.age_list // response.details is an Option[Details]
} yield {
accounts.split(" ").map(accountID => Account(
accountID = accountID,
))
}
)
这会返回Option[List[Account]]
,但我只想返回List[Account]
。我知道这样做的原因是因为for comprehension实际上是一些语法糖,涵盖了一些flatMaps
和maps
,但我无法弄清楚如何返回Option
的内容。我不想使用Option.get
,因为我已经阅读了这种可怕的做法(因为它基本上使Option
的整点无效。那么,我怎么能这样做呢?
提前致谢。
答案 0 :(得分:2)
您可以执行.getOrElse(List.empty)