相关疑难解决方法(0)

我怎样才能在for-comprehension中做'if..else'?

我问的是一个让我最近困惑的基本问题.我想编写一个Scala For表达式来执行以下操作:

for (i <- expr1) {
  if (i.method) {
    for (j <- i) {
      if (j.method) {
        doSomething()
      } else {
        doSomethingElseA()
      }
    }
  } else {
    doSomethingElseB()
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是,在多个生成器For表达式中,我不知道我可以在哪里放置表达式主体.

for {i <- expr1
  if(i.method) // where can I write the else logic ?
  j <- i 
  if (j.method)
} doSomething()
Run Code Online (Sandbox Code Playgroud)

如何在Scala Style中重写代码?

scala for-comprehension

18
推荐指数
1
解决办法
2万
查看次数

标签 统计

for-comprehension ×1

scala ×1