我遇到好幾個地方,我必須是否有更習慣於從選項[IO [選項[A]]獲取IO [選項[A]]的方式,然後使用序列和映射連接?
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不兼容。 – 2012-01-12 06:05:57
如果我的理解正確,你想要做到這一點: http://stackoverflow.com/questions/5968345/un-optioning-an-optioned-option – 2012-01-12 09:29:36