Можно ли заставить Ruby вызывать метод инициализации при использовании YAML.load_file? Я хочу вызвать метод, чтобы предоставить значения для переменных экземпляра, которые я не сериализую. Я знаю, что могу кодировать код в отдельный метод и вызывать этот метод после вызова YAML.load_file, но мне было интересно, был ли более элегантный способ справиться с этой проблемой.Вызов инициализации при загрузке объекта, сериализованного YAML
6
A
ответ
3
Я не думаю, что вы можете. Поскольку код, который вы добавите, действительно специфичен для десериализованного класса, вам следует рассмотреть возможность добавления функции в класс. Например, пусть Foo
класс десериализации, вы можете добавить метод класса, такие как:
class Foo
def self.from_yaml(yaml)
foo = YAML::load(yaml)
# edit the foo object here
foo
end
end
myFoo = Foo.from_yaml("myFoo.yaml")
Смежные вопросы
- 1. Вызов метода при инициализации объекта
- 2. вызов метода при инициализации объекта
- 3. Ошибка при загрузке файла YAML
- 4. Вызов функции объекта данных при загрузке (SilverStripe)
- 5. MySQL ошибка 1064 при вставке сериализованного объекта
- 6. EOFException при чтении сериализованного объекта в Servlet
- 7. Онтология сериализованного объекта
- 8. Поиск serialVersionUID сериализованного объекта
- 9. Передача сериализованного объекта
- 10. NullPointerException при инициализации объекта
- 11. NullReferenceException при инициализации объекта
- 12. Вызов метода инициализации объекта AzMan вызывает FileNotFoundException
- 13. Вызов функции компонента при инициализации в Knockout
- 14. Статический вызов метода инициализации с помощью объекта
- 15. Вызов конструктора для повторной инициализации объекта
- 16. Деструкторный вызов во время инициализации объекта?
- 17. Чтение сериализованного объекта из файла?
- 18. Размер объекта, сериализованного в файле
- 19. Чтение сериализованного объекта из файла
- 20. Чтение сериализованного объекта из файла
- 21. Android Proguard Obfuscation сериализованного объекта
- 22. Ошибка чтения сериализованного объекта? WP7
- 23. Сохранение сериализованного объекта с доктриной
- 24. NullPointerException при инициализации нового объекта
- 25. ошибки сегментации при инициализации объекта
- 26. Потребление памяти при инициализации объекта
- 27. Дизайн шаблонов при инициализации объекта?
- 28. StackOverflow при инициализации нового объекта
- 29. Изменение объекта Netsuite при загрузке
- 30. Ошибка при загрузке объекта JSON
Не могли бы вы объяснить немного больше о том, что вы пытаетесь сделать? Мой первый наклон заключается в создании класса, который завершает вызов load_file, а затем предоставляет значения, которые не существуют в файле конфигурации. Я хотел бы иметь возможность предоставить более полное решение. –