【问题标题】:Is it possible to change monadic sequence?是否可以更改一元序列?
【发布时间】:2018-11-22 12:19:59
【问题描述】:

问题:我有以下Future[Option[T]] monad,我想对它应用scalaz Monad Transformer OptionT。因为我只对可选结果感兴趣。

问题:是否有可能从 Future[Option[T]] 生成 Option[Future[T]] 并保留语义?

【问题讨论】:

  • 请注意,您的问题与this one 非常相似,只是方向相反。

标签: scala monads


【解决方案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

【讨论】:

  • 谢谢。但是有没有更短的方法可以从Future[Option[T]] 获取OptionT
  • 我不确定我是否理解您的问题。 (这与monad转换器无关)
猜你喜欢
  • 1970-01-01
  • 2010-09-12
  • 1970-01-01
  • 1970-01-01
  • 2017-01-06
  • 1970-01-01
  • 2016-09-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多