问题标签 [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-picklingshapeless,并且我不断使 Scala 2.10.3 编译器崩溃,并出现明显的内存不足错误。错误消息的尾部如下所示:

我正在监视我的系统内存,而且内存很多,所以如果这真的是内存分配的问题,我猜我可以在某个地方设置一些 JVM 标志来解决问题。

但是,我尝试通过将paulp 的 sbt脚本中的堆设置调整为 来增加可用内存,但-Xmx8g我仍然收到此错误。这是正确的标志吗?

想法?

编辑:我添加了“scala-pickling”和“shapeless”标签,因为这是这些库的其他用户可能遇到的。

0 投票
0 回答
539 浏览

scala - Scala酸洗:我自己的班级的简单自定义酸洗器?

我正在尝试在我的 Scala NLP(自然语言处理)应用程序中挑选一些结构相对简单但创建速度较慢的类。因为有很多数据,所以需要pickle和esp。快速解开,不会膨胀。Java 序列化在这方面显然很糟糕。我知道 Kryo,但我从未使用过它。我也遇到过 Apache Avro,它看起来很相似,但我不太确定为什么它通常不被称为合适的解决方案。也不是 Scala 特定的,我看到有一个名为 Scala Pickling 的特定于 Scala 的包。不幸的是,它几乎没有所有文档,我不确定如何创建自定义pickler。

我在这里看到一个问题:

Scala Pickling:为嵌套结构编写自定义pickler / unpickler

这个问题仍然缺少一些上下文,而且与为 Kryo 或 Avro 给出的示例相比,创建自定义pickler 的样板文件看起来非常多。

这是我需要序列化的一些类:

我将如何以使用尽可能少的样板的方式创建自定义选择器/取消选择器(因为我有许多其他需要类似处理的类)?

谢谢!

0 投票
0 回答
246 浏览

java - 不能腌制数组,但可以在 Scala 中使用腌制腌制列表

我写了这个方法:

这给了我这个错误:

但是,如果我将所需的类型更改为 List[Track] 并在调用它之前调用 toList ,它就可以完美地工作。Track是这个案例类:

我做错了什么还是这是酸洗的限制?

0 投票
1 回答
212 浏览

scala - 将类移动到另一个包后出现 MissingRequirementError

所以我试图更好地组织我的包,在将一些类移动到另一个包之后,我的代码现在给了我这个异常:

如果我将所有内容都放在同一个包中或在同一个文件中声明这些类,它就可以正常工作。

有人可以告诉我如何解决这个问题吗?

已解决:如果也有这个问题,问题在于 Pickling 如何序列化。在 json 中,有一个字段 'tpe' 用于类型,它从

这是新包(不是我的包名)。希望这个例子可以在未来帮助其他人。

0 投票
1 回答
474 浏览

scala-pickling - 无法为具有不可变 HashMaps 的案例类生成 unpickler

我最近遇到了 scala-pickling,我正在尝试了解如何在项目中使用它,所以我一直在研究一个带有不可变哈希图的案例类的简单示例。在这个例子中,scala-pickling 不会生成 unpickler,我不知道为什么。以下是演示该问题的 REPL 会话:

谁能指出我做错了什么?或者 scala-pickling 有什么问题吗?

编辑:实际上,当我生成一个具有一个属性的类时,似乎也会发生同样的情况,该属性只是一个符号(我将发布另一个 REPL 会话)。有没有一种特殊的方法来处理 scala-pickling 中的符号?

0 投票
1 回答
1147 浏览

scala - Scala 从字符串中解压

我尝试了以下单元测试。

第一次测试testUnpickleJsonPickleFormat效果很好。它腌制一个字符串并解开腌制。

testUnpickleString{1,2}测试以反序列化字符串。但它们根本不起作用。我不知道哪里有什么想念我的。

我不知道如何在 Scala Pickle 框架中使用 unpickle。

0 投票
1 回答
365 浏览

scala - 类型未知时取消酸洗

我正在尝试使用 Scala Pickling 来编写一些通用的 unpickling 逻辑。

假设您有两种类型,A 和 B,然后将它们腌制到一个字节数组中。

你把这个字节数组发送到另一台机器,然后作为字节数组接收。

现在你需要 unpickle 它,但是你不知道字节数组是用于类型 A 还是类型 B。

您将如何对拆开部分进行编程?你是否让 A 和 B 扩展另一种类型,比如 T,然后调用 unpickle[T],然后对 A 或 B 的结果进行模式匹配?

或者你是否向 T 添加了一个实例变量,比如一个 Byte,它对 A 或 B 类型的实例使用不同的数字,并基于此调用 unpickle[A] 或 unpickle[B]?

更新:查看 Scala Pickling 测试套件,我发现最接近的是base.scala,它有点遵循第一个选项。

0 投票
3 回答
6691 浏览

scala - Scala酸洗:如何?

我正在尝试使用“酸洗”序列化是 Scala,我看到相同的示例演示它:

解酸就像酸洗一样简单:

这个例子提出了一些问题。首先,它跳过了对象到字符串的转换。显然你需要调用 pckl.value 来获取 json 字符串表示。

Unpickling 更加令人困惑。反序列化是将字符串(或字节)转换为对象的行为。如果没有对象的字符串/二进制表示,这个“示例”如何演示反序列化?

那么,如何使用酸洗库反序列化简单对象?

0 投票
3 回答
2265 浏览

scala - 冲突的跨版本后缀:org.scalamacros:quasiquotes

我正在尝试在我的一个项目中使用scala-pickling。我试图模仿似乎也使用酸洗的宏的构建文件,但我不断收到错误:sbt test

完整的构建日志在这里。我究竟做错了什么?我应该在build.sbt中更改什么来解决这个问题?我还应该能够针对 和 交叉编译和发布我的2.10.x2.11.x

0 投票
0 回答
200 浏览

scala - 非平凡情况下的 scala 酸洗

腌那个?

发生了什么?

qed

scala/pickling 的好处是它在某些情况下有效。