class cats.data.Nested 中的方法映射无法识别

methode map in class cats.data.Nested not recognized

我在学习 scala cats 库教程时遇到问题,应用于 Nested class 的 map 方法以红色突出显示,编译器无法识别它。

这是我的主要 class 代码:

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