在Scala中进行一系列flatMaps的惯用方法是什么?

时间:2015-05-20 16:43:09

标签: scala

我知道将yield转换为一系列flatMaps,然后是最终地图。我发现自己经常希望它在最终的flatMap中结束。到目前为止,我的解决方法是对收益率进行处理,然后进行如下表示:

{{1}}

有更好的方法吗?对于像这样的案件,有什么最佳做法吗?如果我最终遇到这种情况,我是否做了一些严重的错误?

1 个答案:

答案 0 :(得分:5)

您可以绑定fakeComplexFunc的结果并将其生成:

for {
  a <- aOpt
  b <- bOpt
  c <- fakeComplexFunc(a, b)
} yield c