0
我用foo.to_yaml保存了Foo類的一個對象。現在我在初始化方法中將默認值設置爲0的實例變量添加到Foo類中。現在當我嘗試從yaml文件加載對象時,實例變量被設置爲nil。如何使用yaml加載文件時指定默認值?
如果yaml文件不包含該實例變量的任何值,是否可以通過某種方式將其設置爲0?
是否有一些回調方法在從磁盤加載後在對象上調用?
我用foo.to_yaml保存了Foo類的一個對象。現在我在初始化方法中將默認值設置爲0的實例變量添加到Foo類中。現在當我嘗試從yaml文件加載對象時,實例變量被設置爲nil。如何使用yaml加載文件時指定默認值?
如果yaml文件不包含該實例變量的任何值,是否可以通過某種方式將其設置爲0?
是否有一些回調方法在從磁盤加載後在對象上調用?
您可以像
def your_instance_variable
return "default" unless @your_instance_variable
@your_instance_variable
end
附註:該變量創建讀者方法 前段時間我正在做對象序列化的一些任務,AFAIK Marshal.dump/load更快了