在阅读了这个关于 for-expressions 的优秀答案后,我尝试将 my 转换flatMap
为for-expression
.
val results: List[String] = foo()
def getId: List[String] = List((json \ "_id").asOpt[String].getOrElse(""))
val xs: List[String] = results.flatMap( x => getId(Json.parse(x)))
然后是 for 表达式。
val results: List[String] = foo()
def getId: List[String] = List((json \ "_id").asOpt[String].getOrElse(""))
val xs: List[String] = for {
r <- result
getId(Json.parse(r))
}
我得到一个<-
预期的编译时错误getId(...)
,但发现}
.
我的 for 表达有什么问题?