問題タブ [scala-cats]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
13296 参照

scala - Seq[Eith[A,B]] を [A,Seq[B]] に減らす方法は?

エラーメッセージSeq[Either[String,A]]である一連のいずれかが与えられます。シーケンスのLeftすべての要素Either[String,Seq[A]]が. 少なくとも 1 つ(エラー メッセージ) がある場合、最初のエラー メッセージまたはすべてのエラー メッセージの連結を取得したいと考えています。RightSeq[A]RightLeft

もちろん、cats や scalaz のコードを投稿することもできますが、それを使用しないコードにも興味があります。

編集

Either[Seq[A],Seq[B]]メッセージの本文を反映するために最初に要求されたタイトルを変更しました。

0 投票する
1 に答える
1156 参照

scala - Scala - JSON オブジェクトはフィールド型で多態的です

本当にひどい JSON をデコードしようとしています。各オブジェクトの型情報は、 などのラベルが付いたフィールド内にエンコードされます。JSON のエンコード/デコードには Circe をtype使用"type": "event"ています。ライブラリは型クラスを利用します。関連する型クラスはです。問題は、どの Decoder もタイプに対して不変であるということです。ここに具体的な例がありますdef apply(c: HCursor): Decoder.Result[A]A

デコードは正常に機能しますが、MotherEvent常に返されます

もちろん、マザー イベントの代わりに FlightEvent を使用したいと考えています。Option[A]考えられる解決策の 1 つは、60 または 70 フィールドを持つ「マザー」タイプを作成することですが、私はすでに自分が嫌いで、フィールドに基づいて埋められる70 フィールドのことだけを考えてプログラミングをやめたいと思っていtypeます。

誰でもこれに対する良い解決策を考えることができますか?

0 投票する
0 に答える
78 参照

scala - Cats では、@op 引数リストには最大 2 つのパラメーターがありますか?

Cats の simulacrum の @typeclass とは何かについて少し興味があります。

これはドキュメントの例であり、正常に機能しており、理にかなっています。

ただし、リストに 3 つの引数がある場合、@op に 3 つの引数を適用する方法がわかりません。私の理解では、セミグループは2つの引数の組み合わせです。ただし、コンパイルはエラーを報告しないので、@op マクロを改善して 2 つのパラメーターのみを受け入れるようにするか、@op に 3 つ以上の引数を使用するにはどうすればよいでしょうか。