【发布时间】:2012-02-08 08:23:41
【问题描述】:
我遇到了很多类似的地方
def f(s: String): Option[Long] = ...
def g(l: Long): IO[Option[Wibble]] = ...
val a: IO[Option[Wibble]] = f(param).flatMap(g).sequence.map(_.join)
看到.sequence.map(_.join) 一遍又一遍地重复,我开始感到困扰。有没有更惯用的方式来完成同样的事情?
【问题讨论】:
-
您确定示例中的类型吗? g 的类型在我看来与 flatMap 不兼容。
-
如果我理解正确的话,你想这样做:stackoverflow.com/questions/5968345/…