适用于Scala中的选项类型?

假设我有两个选项,如果两个都是Some,则执行一个代码路径,如果是note,则执行另一个。我想做一些类似的事情

for (x <- xMaybe; y <- yMaybe) {
  // do something
}
else {
  // either x or y were None,handle this
}

在if语句或模式匹配之外(如果我有两个以上的选项可能不会扩展),是否有更好的处理方式?

解决方法

非常接近你的语法提议,通过使用yield来包装一个选项中的输出

val result = { 
  for (x <- xMaybe; y <- yMaybe) yield {
    // do something
  }
} getorElse {
  // either x or y were None,handle this
}

仅当一个或两个选项为“无”时,才执行getorElse块。

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...