我在遵循 scala cats 库教程时遇到问题,应用于 Nested 类的映射方法以红色突出显示,并且编译器无法识别它。
这是我的主类代码:
import cats._
import cats.data._
import cats.implicits._
import cats.syntax.functor._
import cats.Functor
import cats.instances.list._
import cats.instances.option._
object Main extends App{
val list = List(Some(1), Some(2), None, Some(4))
val nested: Nested[List, Option, Int] = Nested(list)
//here is the problem
nested.map(_ + 1)
}
这是我的 build.sbt 文件
name := "dailySBT3"
version := "0.1"
scalaVersion := "2.12.5"
scalacOptions += "-Ypartial-unification"
libraryDependencies += "org.typelevel" %% "cats-core" % "1.1.0"
最佳答案
问题是您导入实例和语法两次。以下对我来说没有问题:
import cats._
import cats.data._
import cats.implicits._
object Main extends App{
val list = List(Some(1), Some(2), None, Some(4))
val nested: Nested[List, Option, Int] = Nested(list)
nested.map(_ + 1)
}
您也可以执行与上面相同的操作,但删除 cats.implicits._
导入。
如有疑问,请查看cats import guide .
关于scala - 类 cats.data.Nested 中的方法映射无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49587419/