scala - 类 cats.data.Nested 中的方法映射无法识别

标签 scala scala-cats

我在遵循 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/

相关文章:

Scala从集合中收集类型的项目

scala - 如何使用没有类型别名的 Scala 猫对 Either 进行排序(请参阅 Herding cats)

scala - Scala 中的 List[Try[T]] 到 Try[List[T]]

multithreading - 故障超过阈值时停止所有异步任务?

scala - 在工件名称中保留点

scala - scala 中对 csv 的强类型访问?

scala - State-Monad 的递归

scala - 猫 : mapping over tuples with the same applicative

scala - 在 Any 上调用 .toDouble 并返回 Option[Double]

Scala groupBy + mapValues 与 groupBy + map + BreakOut