問題タブ [scala-pickling]

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 投票する
1 に答える
718 参照

scala - Scala コンパイル中のメモリ不足エラー

私はマクロを多用したscala-picklingを とともに使用shapelessしていますが、明らかなメモリ不足エラーで Scala 2.10.3 コンパイラをクラッシュさせ続けています。エラー メッセージの末尾は次のようになります。

私はシステムメモリを監視していますが、十分にあるので、これが実際にメモリ割り当ての問題である場合は、問題を解決するためにどこかに設定できる JVM フラグがあると思います。

ただし、paulp の sbtスクリプトのヒープ設定を に調整して、使用可能なメモリを増やしみましたが、それでもこのエラーが発生します。これは正しいフラグですか?-Xmx8g

アイデア?

編集:「scala-pickling」および「shapeless」タグを追加しました。これは、これらのライブラリの他のユーザーが遭遇した可能性があるためです。

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

scala - Scala pickling: 自分のクラス用のシンプルなカスタム ピックラー?

私のScala NLP(自然言語処理)アプリで、比較的単純な構造であるが大きくて作成に時間がかかるいくつかのクラスをピクルしようとしています。大量のデータがあるため、ピクルと esp が必要です。膨張せずにすばやく解凍します。Java のシリアライゼーションは、この点で明らかに問題があります。Kryo については知っていますが、使用したことはありません。私は Apache Avro にも遭遇しましたが、これは似ているように見えますが、通常、適切なソリューションとして言及されていない理由はよくわかりません。どちらも Scala 固有ではなく、Scala Pickling と呼ばれる Scala 固有のパッケージがあるようです。残念ながら、ほとんどすべてのドキュメントが不足しており、カスタム ピッカーを作成する方法がわかりません。

ここに質問があります:

Scala Pickling: ネストされた構造のカスタム pickler / unpickler を書く

その質問にはまだいくつかのコンテキストが欠けています。また、Kryo や Avro の例と比較して、カスタム ピックラーを作成するには非常に多くのボイラープレートのように見えます。

シリアル化する必要があるクラスの一部を次に示します。

できるだけボイラープレートを使用しない方法でカスタムピッカー/アンピッカーを作成するにはどうすればよいですか (同様の処理が必要な他のクラスが多数あるため)。

ありがとう!

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

scala - クラスを別のパッケージに移動した後に MissingRequirementError を取得する

そのため、パッケージをもう少しうまく整理しようとしていましたが、いくつかのクラスを別のパッケージに移動した後、コードで次の例外が発生しました。

すべてを同じパッケージに残すか、これらのクラスを同じファイルで宣言すると、問題なく動作します。

誰かがこれを修正する方法について教えてもらえますか?

解決済み: この問題もある場合、問題は Pickling のシリアライズ方法にありました。json には、type のフィールド「tpe」があり、

これは新しいパッケージでした (実際には私のパッケージ名ではありません)。この例が将来誰かを助けることができることを願っています。

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

scala - 種類が不明な場合の解凍

Scala Pickling を使用して、一般的な unpickling ロジックをプログラムしようとしています。

A と B の 2 つの型があり、それらをバイト配列にピクルするとします。

このバイト配列を取得して別のマシンに送信すると、バイト配列として受信されます。

unpickle する必要がありますが、バイト配列がタイプ A 用なのかタイプ B 用なのかわかりません。

アンピッキング部分をどのようにプログラムしますか? A と B を別の型 (T など) に拡張させてから、unpickle[T] を呼び出してから、A または B の結果に対してパターン マッチを行いますか?

それとも、タイプ A または B のインスタンスに異なる番号を使用する Byte などのインスタンス変数を T に追加し、それに基づいて unpickle[A] または unpickle[B] を呼び出しますか?

更新: Scala Pickling テストスイートを調べると、私が見つけた最も近いものはbase.scalaで、これは最初のオプションのようなものです。

0 投票する
3 に答える
2265 参照

scala - org.scalamacros:quasiquotes で競合するクロスバージョン サフィックス

プロジェクトの1 つでscala-picklingを使用しようとしています。ピクルスも使用しているように見えるマクロイドのビルドファイルを模倣しようとしましたが、このエラーが発生し続けます:sbt test

完全なビルド ログはこちらです。私は何を間違っていますか?これを修正するには、 build.sbtで何を変更すればよいですか? 2.10.xまた、との両方に対してライブラリをクロス コンパイルしてリリースできるはず2.11.xです。

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

scala - 自明でないケースでの scala 酸洗い

それを漬ける?

そして何が起こっているのですか?

した

scala/pickling の良い点は、場合によっては機能することです。