0

我试图弄清楚如何使用applyOptional。我有这个:

import monocle.function.all.index
import monocle.macros.{GenLens, Lenses}
import monocle.std.map._
import monocle.syntax.ApplyOptionalOps._
import monocle.function.Index._

val map: Map[Int, String] = Map.empty
val lens = map applyOptional index(4)

但编译器告诉我“无法解析符号 applyOptional。” 我导入 ApplyOptionalOps._ 只是为了确认我有正确的导入。

4

1 回答 1

0

ApplyOptionalOps是以源对象为参数的案例类,因此通过导入其伴随对象无法访问其功能。import monocle.syntax.apply._相反,应该将ApplySyntax包含从通用源对象的隐式转换的特征扩展到ApplyOptionalOps其他一些操作包装器。事实上,对于这个例子,下面的导入就足够了:

import monocle.syntax.apply._
import monocle.function.Index._

val map: Map[Int, String] = Map.empty
val lens = map applyOptional index(4)
于 2017-06-09T12:14:31.060 回答