使用yaml加载文件时如何指定默认值?

时间:2009-02-27 13:18:12

标签: ruby yaml

我使用foo.to_yaml保存了类Foo的对象。现在我在Foo类中添加了一个实例变量,初始化方法中的默认值设置为0。现在,当我尝试从yaml文件加载对象时,实例变量设置为nil。

如果yaml文件不包含该实例变量的任何值,是否有某些方法可以将其设置为0?

从磁盘加载后是否有一些在对象上调用的回调方法?

1 个答案:

答案 0 :(得分:1)

您可以为该变量创建读者方法,例如

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

P.S。 前段时间我正在做一些对象序列化的任务,AFAIK Marshal.dump / load的速度要快得多