2012-01-03 57 views

回答

2

它應該工作(我沒有安裝1.8.1明確地測試它)。每the Marshal documentation

封送的數據包含與對象信息一起存儲的主版本號和次版本號。在正常使用中,封送處理只能加載使用相同主版本號和相同或較小次版本號編寫的數據。如果設置了Ruby的「詳細」標誌(通常使用-d,-v,-w或-verbose),則主要和次要數字必須完全匹配。元帥版本控制獨立於Ruby的版本號。您可以通過閱讀編組數據的前兩個字節來提取版本。

隨着Ruby 1.9.3,marshall.c的主要/次要版本定義爲:

#define MARSHAL_MAJOR 4 
#define MARSHAL_MINOR 8 

看着紅寶石1.8.1的marshall.c顯示相同的版本。

+0

哦,我想我不看紅寶石Marshalled數據然後。它的RPG製作者vx數據文件和他們看起來相似。我試着用1.9.3加載它們,但是它說的是錯誤的版本。哦,我想我必須對其進行逆向工程。目前我不是通過電腦,但我會聽取您的意見。謝謝! – Ell 2012-01-03 23:18:07

+0

嗯,我現在已經嘗試從紅寶石1.8.1轉儲定期數據,但1.9.3不能加載它 - 我應該不接受這個答案並更新問題嗎? (對不起,很痛苦) – Ell 2012-01-09 22:34:25

+0

有沒有任何錯誤信息?像缺少類的依賴? – lulalala 2012-06-01 05:38:35