9
나는 고양이 0.6 고양이 0.2을 사용하여 몇 가지 코드를 마이그레이션 한, 내 코드는 더 이상 wroking되지 않습니다어떻게 데카르트 제품을 사용할 수 있습니까? @ | 최신 버전의 Cats?
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{_+_}
컴파일러는 말한다 : 나는이에 대한 문서에서 아무것도 찾을 수 없습니다
Error:(48, 6) value |@| is not a member of
cats.data.Validated[List[String],Int]
(valid1 |@| valid2).map{_+_}
^
, 내가 수입했거나 내재적이거나 무언가를 선언해야합니까?
|@|
대신 product
을 사용했지만 중첩 된 튜플을 생성하는 것처럼 편리하지 않습니다. 이제 나는이 결합 4를 검증 한 가정 해 봅시다 :
(valid1 product valid2 product valid3 product valid4)
.map{case (((v1, v2), v3), v4) => v1 + v2 + v3 + v4}
감사
이었다. cats.syntax.all._는 특정 가져 오기를 확신하지 못합니다. – melps
@meps 덕분에 작동합니다! – Loic
'cats.implicits._'를 사용하는 것이 더 쉽습니다. 그러면 올바른'cats.std.x' 또는'cats.syntax.y'를 검색 할 필요가 없습니다 (여기서 필요한 것은'cats '입니다. syntax.cartesian._'). –