Как указать значения по умолчанию при загрузке файлов с использованием yaml? - PullRequest
0 голосов
/ 27 февраля 2009

Я сохранил объект класса Foo, используя foo.to_yaml. Теперь я добавил переменную экземпляра в класс Foo со значением по умолчанию, равным 0, в методе инициализатора. теперь, когда я пытаюсь загрузить объект из файла yaml, переменной экземпляра присваивается значение nil.

Есть ли способ, которым я могу установить его на 0, если файл yaml не содержит никакого значения для этой переменной экземпляра?

Есть ли какой-нибудь метод обратного вызова, который вызывается для объекта после его загрузки с диска?

1 Ответ

1 голос
/ 27 февраля 2009

Вы можете создать метод чтения для этой переменной, например

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

P.S. Некоторое время назад я занимался сериализацией объектов, и AFAIK Marshal.dump / load был намного быстрее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...