我正在尝试遵循有关Arrow 的文档。Lens
但是,当我尝试编写镜头时
data class Player(val health: Int)
val playerLens: Lens<Player, Int> = Lens(
get = { player -> player.health },
set = { player, value -> player.copy(health = value) }
)
我收到以下错误:
4 type arguments expected for operator fun <S, T, A, B> invoke(): PLens<S, T, A, B>
我看到这Lens<S, T>
是 的类型别名PLens<S, S, T, T>
,那么为什么会出现这个编译错误?
Kotlin 版本 1.3.50
艾睿光学 0.10.0 版