Ruby封送:从1.9.3加载1.8.1文件

Ruby封送:从1.9.3加载1.8.1文件,ruby,version,unmarshalling,Ruby,Version,Unmarshalling,是否可以从ruby 1.9.3加载ruby 1.8.1版转储的文件?它应该可以工作(我没有安装1.8.1来显式测试它)。Per: 封送数据的主版本号和次版本号与对象信息一起存储。在正常使用中,封送处理只能加载使用相同主版本号和相等或更低次版本号写入的数据。如果设置了Ruby的“verbose”标志(通常使用-d、-v、-w或–verbose),则主次数字必须完全匹配。封送处理版本控制独立于Ruby的版本号。您可以通过读取封送数据的前两个字节来提取版本 从Ruby 1.9.3开始,marshall

是否可以从ruby 1.9.3加载ruby 1.8.1版转储的文件?

它应该可以工作(我没有安装1.8.1来显式测试它)。Per:

封送数据的主版本号和次版本号与对象信息一起存储。在正常使用中,封送处理只能加载使用相同主版本号和相等或更低次版本号写入的数据。如果设置了Ruby的“verbose”标志(通常使用-d、-v、-w或–verbose),则主次数字必须完全匹配。封送处理版本控制独立于Ruby的版本号。您可以通过读取封送数据的前两个字节来提取版本

从Ruby 1.9.3开始,
marshall.c
将主要/次要版本定义为:

#define MARSHAL_MAJOR   4
#define MARSHAL_MINOR   8

查看Ruby 1.8.1的
marshall.c
显示了相同的版本。

哦,我想我没有查看Ruby编组的数据。它的RPG maker vx数据文件和它们看起来很相似。我试着用1.9.3加载它们,但它说的版本不对。哦,好吧,我想我必须对它进行反向工程。我现在不在电脑旁,但我相信你的话。谢谢嗯,我现在已经尝试从ruby 1.8.1中转储常规数据,但是1.9.3无法加载它-我应该取消接受这个答案并更新问题吗?(很抱歉让人痛苦)是否有任何错误消息?比如缺少阶级依赖?