2009-02-27 150 views
0

我用foo.to_yaml保存了Foo類的一個對象。現在我在初始化方法中將默認值設置爲0的實例變量添加到Foo類中。現在當我嘗試從yaml文件加載對象時,實例變量被設置爲nil。如何使用yaml加載文件時指定默認值?

如果yaml文件不包含該實例變量的任何值,是否可以通過某種方式將其設置爲0?

是否有一些回調方法在從磁盤加載後在對象上調用?

回答

1

您可以像

def your_instance_variable 
    return "default" unless @your_instance_variable 
    @your_instance_variable 
end 

附註:該變量創建讀者方法 前段時間我正在做對象序列化的一些任務,AFAIK Marshal.dump/load更快了