我有一个名为layers的实例对象 这是一个Layer对象数组。
我尝试以下操作,我收到错误消息,说我正在尝试转储类方法:
@best_copy = Marshal.load(Marshal.dump(@layers))
TypeError: no marshal_dump is defined for class Method
如何制作它以免它试图保存attr_accessor, 但实际的对象?
答案 0 :(得分:1)
看起来你的一个或多个图层有一个实例变量,它是一个方法。听起来不错吗? Marshal发送一个对象marshal_dump
来获取编组数据,反过来,对象的属性也获得marshal_dump
来获取他们的数据。方法无法编组,因此当进程到达对象的那一部分时,它会挂起来试图封送你的方法。