【发布时间】:2017-12-14 17:10:50
【问题描述】:
我已经看到了更新 Map 的 official example,但我遇到了语法问题。
val pod: Lens[Event, Pod] = GenLens[Event](_.`object`)
val metadata: Lens[Pod, Metadata] = GenLens[Pod](_.metadata)
val labels: Lens[Metadata, Map[String, String]] = GenLens[Metadata](_.labels)
我想更新labels Map 中的关键“应用程序”。但我无法编译以下内容:
(labels.composeOptional(index("app"))).set("whatever")(someLabels)
事实上,Monacle 的作者之一的answer 无法编译。
【问题讨论】:
-
someLabels到底是什么?合成镜头是从Metadata到索引"app"映射的labels元素的间接映射,因此someLabels应该是Metadata类型。 -
@P.Frolov 这是
Map[String,String]
标签: scala monocle-scala