实现 Eq 类型时 Scala 猫出错 Class
Scala Cats Error when Implementing Eq Type Class
我正在尝试为案例 class 实现 Eq,但我不断收到编译器错误。我很确定我缺少一些进口产品,但不确定是哪一个。这是我所做的:
import cats.Eq
import cats.syntax.eq._
final case class Cat(name: String, age: Int, color: String)
implicit val catEq: Eq[Cat] = Eq.instance[Cat] { (cat1, cat2) =>
cat1.name === cat2.name && cat1.age === cat2.age && cat1.color === cat2.color
}
我正在使用 cats-core 1.0.1 库。这是编译器说的:
<console>:17: error: value === is not a member of String
cat1.name === cat2.name && cat1.age === cat2.age && cat1.color === cat2.color
^
<console>:17: error: value === is not a member of Int
cat1.name === cat2.name && cat1.age === cat2.age && cat1.color === cat2.color
^
<console>:17: error: value === is not a member of String
cat1.name === cat2.name && cat1.age === cat2.age && cat1.color === cat2.color
您缺少 Eq
的 String
实例
您可以使用
导入它
import cats.instances.string._
我正在尝试为案例 class 实现 Eq,但我不断收到编译器错误。我很确定我缺少一些进口产品,但不确定是哪一个。这是我所做的:
import cats.Eq
import cats.syntax.eq._
final case class Cat(name: String, age: Int, color: String)
implicit val catEq: Eq[Cat] = Eq.instance[Cat] { (cat1, cat2) =>
cat1.name === cat2.name && cat1.age === cat2.age && cat1.color === cat2.color
}
我正在使用 cats-core 1.0.1 库。这是编译器说的:
<console>:17: error: value === is not a member of String
cat1.name === cat2.name && cat1.age === cat2.age && cat1.color === cat2.color
^
<console>:17: error: value === is not a member of Int
cat1.name === cat2.name && cat1.age === cat2.age && cat1.color === cat2.color
^
<console>:17: error: value === is not a member of String
cat1.name === cat2.name && cat1.age === cat2.age && cat1.color === cat2.color
您缺少 Eq
的 String
您可以使用
导入它import cats.instances.string._