2017-09-06 4 views
1

문제 : 나는 다음과 같은 Future[Option[T]] 모나드를하고 난 그것에 scalaz 모나드 변압기 OptionT을 적용하고 싶습니다. 나는 선택적 결과에만 관심이 있습니다.모나드 순열을 변경할 수 있습니까?

질문 : 그것은 의미를 보존 Future[Option[T]]에서 Option[Future[T]]을 생성 할 수 있습니까?

+0

참고 귀하의 질문에 [이 하나] (https://stackoverflow.com/questions/38226203/scala-optionfuturet-to-futureoptiont) 만에 반전 매우 유사 방향. – slouc

답변

1

사용 .sequence :

scala> import scalaz._, Scalaz._, ... 

scala> val a: Future[Option[Int]] = Future(None) 
a: Future[Option[Int]] = Future(Success(None)) 

scala> val b = a.sequence 
b: Option[Future[Int]] = None 
+0

감사합니다. 그러나 Future [Option [T]]에서'OptionT'를 얻는 더 짧은 방법이 있습니까? –

+0

귀하의 질문을 이해할 수 있는지 잘 모르겠습니다. (이것은 모나드 변압기와 관련이 없습니다) – OlivierBlanvillain