gpt4 book ai didi

scala - Value withFilter不是Cats IO的成员以进行理解

转载 作者:行者123 更新时间:2023-12-03 13:39:31 24 4
gpt4 key购买 nike

我写了这段代码,编译起来很好

for {
list : List[Int] <- Future(List(1, 2, 3))
} yield list.size

res7: Future[Int] = Future(Success(3))

但是如果我将此代码转换为
for {
list : List[Int] <- IO(List(1, 2, 3))
} yield list.size

我收到一个编译时错误
value withFilter is not a member of cats.effect.IO[List[Int]]

如果我删除该类型,则可以正常编译
for {
list <- IO(List(1, 2, 3)) // returns IO[List[Int]]
} yield list.size
res8: IO[Int] = Map(Delay(<function0>), <function1>, 0)

为什么不能使用IO指定类型?

我启用了部分统一,所以不能这样:)

最佳答案

您的理解力逐渐形成,它使用函数withFilter,并且因为IO没有该方法,所以编译失败。

幸运的是,有编译器插件better-monadic-for可以解决该问题。

只需在您的addCompilerPlugin("com.olegpy" %% "better-monadic-for" % "0.3.0")中添加build.sbt,就可以了。

关于scala - Value withFilter不是Cats IO的成员以进行理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55715182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com