【问题标题】:How to specify default values when loading files using yaml?使用yaml加载文件时如何指定默认值?
【发布时间】:2010-10-10 07:55:37
【问题描述】:

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

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

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

【问题讨论】:

    标签: ruby yaml


    【解决方案1】:

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

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

    附: 前段时间我在做一些对象序列化任务,AFAIK Marshal.dump/load 更快

    【讨论】:

      猜你喜欢
      • 2021-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-16
      相关资源
      最近更新 更多