私は.sequence.map(_.join)
は何度も繰り返し見て IO [Option [A]]をOption [IO [Option [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)
に似何かを持っているかなりの数の場所に実行しているが私を気にし始めています。同じことを達成するためにもっと慣れ親しんだ方法がありますか?
例のタイプについては確かですか? gの型はflatMapと互換性がないように見えます。 –
私はあなたを正しく理解していれば、正確にそれをしたいと思う: http://stackoverflow.com/questions/5968345/un-optioning-an-オプション - オプション –