首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >示例使用Scalaz.Lens的modf、modp和xmap

示例使用Scalaz.Lens的modf、modp和xmap
EN

Stack Overflow用户
提问于 2013-04-09 16:49:25
回答 1查看 776关注 0票数 7

有很多很棒的教程和文章涵盖了镜头的方法,例如更新嵌套结构的更简洁的方法;有人能提供这三种方法的示例用法吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-04-10 22:44:35

不幸的是,Scalaz7镜头的例子是一个WIP。您需要问Scalaz谷歌集团这个问题。在你问之前,试试这里的例子,看看Emmett的视频。

再看一遍源代码。从这个你能猜出什么?

代码语言:javascript
复制
 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 _)
  }

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15907808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档