在为 ruby marshal 格式编写解析器时,我注意到一件奇怪的事情。在变量之后的某一时刻出现序列“\x04\x08”。根据文档,这是格式版本。但根据常识判断,它应该只出现在文件开头。或者在 ruby 中,我可以在文件中写入多个流并毫无问题地读取它们。或者格式混淆了,我必须跳过所有这些序列?还是别的什么?
问题可能很愚蠢,但我不知道 ruby,也不想知道,似乎没有人问过这个问题。
读取字符串数据类型的代码存在错误,因此我没有意识到一个流只包含一个变量。所以现在我知道该怎么做了。
另外,我不认为这是 ruby 的正确文档,因为某些数据类型未解释(字节序列),而某些数据类型解释得太模糊(字符串编码、实例变量)。