【发布时间】:2013-10-16 16:29:13
【问题描述】:
在阅读了这篇关于 for 表达式的出色 answer 之后,我尝试将我的 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 表达式有什么问题?
【问题讨论】: