gpt4 book ai didi

scala - 示例使用 scalaz.Lens 的 modf、modp 和 xmap

转载 作者:行者123 更新时间:2023-12-03 19:36:31 26 4
gpt4 key购买 nike

那里有许多很棒的教程和帖子,涵盖了 Lens 更直接的方法,例如Cleaner way to update nested structures ;任何人都可以提供这三种其他方法的示例用途吗?谢谢。

最佳答案

不幸的是,Scalaz7 镜头示例是 WIP。你需要问the Scalaz Google Group这个问题.在您提问之前,请在此处尝试这些示例并观看 Emmett 的视频。

  • Using lenses with Scalaz 7
  • Emmett's videos on Lenses

  • 再次查看源代码。你能从中解出什么?
     def xmapbA[X, A >: A2 <: A1](b: Bijection[A, X]): LensFamily[X, X, B1, B2] =
    xmapA(b to _)(b from _)

    def xmapB[X1, X2](f: B1 => X1)(g: X2 => B2): LensFamily[A1, A2, X1, X2] =
    lensFamily(a => run(a).xmap(f)(g))

    def xmapbB[X, B >: B1 <: B2](b: Bijection[B, X]): LensFamily[A1, A2, X, X] =
    xmapB(b to _)(b from _)


    /** Modify the value viewed through the lens, returning a functor `X` full of results. */
    def modf[X[+_]](f: B1 => X[B2], a: A1)(implicit XF: Functor[X]): X[A2] = {
    val c = run(a)
    XF.map(f(c.pos))(c put _)
    }

    抱歉,帮助很小。我可以指出要问谁以及在你问之前你需要知道什么。

    关于scala - 示例使用 scalaz.Lens 的 modf、modp 和 xmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15907808/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com