2016-06-17 7 views
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を検証してきたとしましょう:@mepsはコメントで言ったように

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

おかげ

+1

ました。 cats.syntax.all._は、特定のインポートを確認しません。 – melps

+0

@mepsありがとうございます! – Loic

+2

'cats.implicits._'を使う方が簡単です。正しい' cats.std.x'や 'cats.syntax.y'を探す必要はありません。 syntax.cartesian._')。 –

答えて

5

、不足しているインポートはあなたがApplicativeのビルダーのための構文をインポートする必要がありますcats.syntax.all._

関連する問題