我正在尝试使用 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,它有点遵循第一个选项。