作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何进行编译,或做类似的事情?
import scala.concurrent.Future
import scalaz._
import Scalaz._
val ee: Future[Unit \/ Option[Int]] = Future(\/-(Option(1)))
OptionT.optionT(EitherT.eitherT(ee))
最佳答案
您只需要显式传递类型(OptionT.optionT
似乎做了一些稍微不同的事情):
//could use a type lambda, but this is (IMO) slightly clearer
type FutureEither[A] = EitherT[Future, Unit, A]
new OptionT[FutureEither, Int](EitherT.eitherT[Future, Unit, Option[Int]](ee))
(我可能应该提到我的 scalaz-transfigure 库,它是一种更轻量级和更推理的方法,可以做与 monad 转换器相同的事情;尽管它还不是很成熟)
关于scala - 如何在 scalaz 中编写 monad 转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28200759/
我是一名优秀的程序员,十分优秀!