【问题标题】:Fork Join with generic monad scala?Fork Join 与通用 monad scala?
【发布时间】:2019-05-15 21:34:46
【问题描述】:

是否可以以通用的方式表达,使用猫或 scalaz this?

val common: F[Common] = ...
val a: F[A] = common.flatMap(commonToA)
val b: F[B] = common.flatMap(commonToB)
val result: F[(A,B)] =  a someFunctionToProduct b

并确保common 效果只有效执行一次?

【问题讨论】:

    标签: scala functional-programming monads scalaz scala-cats


    【解决方案1】:

    终于知道怎么做了。我可以这样做:

    val common: F[Common] = ...
    val fab = common.flatMap{
      c=>
         commonToA(c).zip(commonToB(c))
    }
    

    【讨论】:

      猜你喜欢
      • 2016-10-22
      • 2012-04-02
      • 1970-01-01
      • 2016-02-05
      • 2019-11-19
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多