Scala 单眼镜斯卡拉。如何使用递归数据?

Scala 单眼镜斯卡拉。如何使用递归数据?,scala,monocle-scala,Scala,Monocle Scala,С考虑一个简单的情况: case class Node(id: String, name: String, children: Seq[Node]) 如何使用单片眼镜更改任何深度 我想在子节点列表中添加一个新节点,如果它不存在,有时会更改名称。但是任何深度。递归。你需要一个相当于镜头的镀膜镜片,但我不确定monocle是否最终添加了这个。也请原谅,我没有看到使用这种镜头的好处。我不相信在节点上定义一个单层镜头并亲自穿过节点会比使用镜头的性能差,但肯定会cleaner@sinanspd还有其他想

С考虑一个简单的情况:

case class Node(id: String, name: String, children: Seq[Node])
如何使用单片眼镜更改任何深度


我想在子节点列表中添加一个新节点,如果它不存在,有时会更改名称。但是任何深度。递归。

你需要一个相当于镜头的镀膜镜片,但我不确定monocle是否最终添加了这个。也请原谅,我没有看到使用这种镜头的好处。我不相信在节点上定义一个单层镜头并亲自穿过节点会比使用镜头的性能差,但肯定会cleaner@sinanspd还有其他想法吗?我该怎么做?没有单片眼镜?我需要深入的“复制”。我打算建议将
.copy
Seq[Node]
镜头结合起来,但我意识到这会变得非常难看。你可以尝试在monocle gitter频道询问。图书馆的作者经常检查这个频道,这样他可能会有一个想法。你也可以问一下镀膜的东西,你需要一个相当于镜片的东西。镀膜的,但我不确定monocle是否最终添加了这个。也请原谅,我没有看到使用这种镜头的好处。我不相信在节点上定义一个单层镜头并亲自穿过节点会比使用镜头的性能差,但肯定会cleaner@sinanspd还有其他想法吗?我该怎么做?没有单片眼镜?我需要深入的“复制”。我打算建议将
.copy
Seq[Node]
镜头结合起来,但我意识到这会变得非常难看。你可以尝试在monocle gitter频道询问。图书馆的作者经常检查这个频道,这样他可能会有一个想法。你也可以在那里询问电镀的东西