我怎样才能使用笛卡尔积| @ | 最新版本的猫?

Loi*_*oic 12 scala scala-cats

我已经使用猫0.2到猫0.6迁移了一些代码,我的代码不再畏缩了:

import cats.data.Validated
import cats.std.all._

val valid1: Validated[List[String], Int] = valid(1)
val valid2: Validated[List[String], Int] = valid(2)
(valid1 |@| valid2).map{_+_}
Run Code Online (Sandbox Code Playgroud)

编译说:

Error:(48, 6) value |@| is not a member of 

cats.data.Validated[List[String],Int]
(valid1 |@| valid2).map{_+_}
    ^
Run Code Online (Sandbox Code Playgroud)

我没有在文档中找到任何关于此的内容,如果我有导入或声明隐含的或什么?

我设法使用product而不是|@|它产生嵌套元组不方便.假设我有4个经过验证可以合并:

  (valid1 product valid2 product valid3 product valid4)
    .map{case (((v1, v2), v3), v4) => v1 + v2 + v3 + v4}
Run Code Online (Sandbox Code Playgroud)

谢谢

Loi*_*oic 5

正如@meps在评论中所说,缺少导入 cats.syntax.all._