2010-11-30 74 views
0

我有一個名爲layers 的實例對象,它是一個Layer對象的數組。複製類對象

我嘗試以下方法,我也得到一個錯誤,說我試圖轉儲類方法:所以它不是試圖挽救attr_accessor中

@best_copy = Marshal.load(Marshal.dump(@layers)) 

TypeError: no marshal_dump is defined for class Method 

我怎麼做呢, 但實際的對象?

回答

1

它看起來像一個或多個圖層有一個實例變量是一個方法。這聽起來是對的嗎? Marshal發送一個對象marshal_dump以獲取編組數據,然後對象的屬性也獲得marshal_dump以獲取他們的數據。方法不能編組,所以當進程到達對象的那個部分時,它會掛起來嘗試編組你的方法。

+0

啊是啊..我只是意識到..我有一個函數指針。 attr_accessor:fptr。有沒有其他的選擇?除了刪除函數指針,或保存對象的各個部分。 – Flethuseo 2010-11-30 18:47:52