1
我正在使用ruby封送器在两个客户端之间发送数据。每个客户端都有一组类定义,它们将用来帮助加载编组数据。该定义存储在外部ruby文件,他们可以加载任何时候他们想要的(但通常,当他们启动)封送和未定义的属性/类
一个简单的例子是
- 客户端A元帅转储数据并将其发送到客户端B
- 客户端B编组加载的数据,然后将其写入到一个文件
然而,有时一个客户端发送包含未在其他客户端的定义所定义的对象的数据,在这种情况另一个客户应该是你相应地更新其定义。
它可能是一个新的实例变量,应该添加到类xyz
的定义中,或者它可能完全是一个新类。
Marshal#Load
当前刚刚抛出一个异常,当它运行到一个未定义的变量(例如:undefined类/方法abc
)。
有没有办法让我采取这种例外并相应地更新定义,以便客户端可以愉快地读取数据并写出来?
所有类都将包含Marshal已经知道如何编码/解码的数据,例如字符串,数组,哈希,数字等。不会有任何数据需要自定义方法dump
/load
方法。