gpt4 book ai didi

scala - 想法中的无形镜片

转载 作者:行者123 更新时间:2023-12-05 01:04:04 24 4
gpt4 key购买 nike

我尝试将 2.0.0 版的无变形镜头用于 Scala 2.10.3
我有类似于这个的代码:

import shapeless._
case class A(map: Map[String, String])
case class B(a: A)
val mapLens = lens[B] >> 'a >> 'map
mapLens思想中的推断类型是
AnyRef with Lens[B, Nothing] {val gen: LabelledGeneric.Aux[Nothing, ::[record.FieldType[Witness.Lt[Symbol]#T, Nothing], Nothing]]}

所以如果我想改变 B 实例的值
mapLens.set(b)(b.a.map + ("foo" -> "bar"))

我收到类型不匹配错误。如何解决这个问题?

附注 Here有一个使用不定形镜片的例子。这是怎么回事 lens[Person].address.street作品?我的意思是编译器如何允许我们在 lense 类的实例上调用 case 类的方法?因为在 LenseExamples使用 >> 运算符的对象

编辑
已在 REPL 中尝试过,并且有效。想法说它
could not find implicit value for evidence parameter of type shapeless.LabelledGeneric[B]{type Repr = Out0}

同样的提示发出 gradle

最佳答案

想法是错误的。您应该针对 Scala 插件报告错误。

关于scala - 想法中的无形镜片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23874998/

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