我试图找出如何使用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._只是为了确认我有正确的导入。
答案 0 :(得分: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)