繁体   English   中英

scala中这是什么类型的表达式?

[英]What type of expression is this in scala?

考虑到 x,p,r 是从前面的表达式中计算出来的,下面发生了什么,<- 然后在 =

val a = for{
 x <- y
 p = q (x)
 r <- s (p)
} yield (something(p.something, r.something))

<-等效于.flatMap调用(语法糖),而=等效于val x = (并yield最终的.map )。

所以代码等价于:

val a = y.flatMap { x => // first <-
  val p = q (x)
  s(p).map { r => // 2nd <- + yield
    something(p.something, r.something)
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM