¿Es posible forzar a Ruby a llamar a un método de inicialización cuando usa YAML.load_file? Quiero llamar al método para proporcionar valores para las variables de ejemplo que no serializo. Sé que puedo factorizar el código en un método diferente y llamar a ese método después de llamar a YAML.load_file, pero me preguntaba si había una forma más elegante de manejar este problema.Llamar a inicializar al cargar un objeto serializado con YAML
6
A
Respuesta
3
No creo que puedas. Como el código que agregará es muy específico para la clase que se está deserializando, debería considerar agregar la función en la clase. Por ejemplo, dejar que Foo
ser la clase que desea deserializar, se puede añadir un método de clase, tales como:
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")
Cuestiones relacionadas
- 1. ¿Cómo cambiar un objeto serializado?
- 2. ¿Serializar un objeto a JSON, XML, YAML?
- 3. ¿Puede un objeto YAML referirse a otro?
- 4. ¿Qué significa {0} al inicializar un objeto?
- 5. Ruby YAML :: cargar
- 6. Extensión de archivo para un objeto serializado
- 7. Encontrar serialVersionUID del objeto serializado
- 8. Serialización de XML: objeto no serializado
- 9. ¿Cómo llamar al método genérico con un objeto Tipo dado?
- 10. VBA: ¿Inicializar objeto con valores?
- 11. ¿Por qué un operador no puede llamar a otro ctor para inicializar el objeto
- 12. intercambio de clave pública como un objeto serializado
- 13. ¿Cómo puedo caminar un árbol YAML con Perl's YAML :: Tiny?
- 14. ¿Cómo inicializar un objeto con una lista de diferentes tipos?
- 15. ¿Cómo puedo averiguar el serialVersionUID de un objeto Java serializado?
- 16. Almacenar un objeto serializado en la base de datos MySql
- 17. manera correcta para inicializar un objeto con excepción constructor tirar
- 18. ¿Qué es un objeto "serializado" en la programación?
- 19. Al pasar un objeto de excepción a un servicio web
- 20. Enviar un objeto serializado de Android a un servlet usando el cliente HTTP
- 21. Inicializar un objeto con y sin nuevo operador
- 22. Cómo llamar a un método en un objeto de javascript
- 23. ¿Cómo se usa HttpURLConnection para enviar un objeto serializado a un Servlet de la clase Java?
- 24. Llamar a un evento después de cargar una pestaña jquery
- 25. Al añadir a un objeto
- 26. ¿Inicializar una colección dentro de un objeto?
- 27. Inicializar objeto genérico desde un System.Type
- 28. ¿Cómo adjuntar metadatos EXIF a un Bitmap serializado en Android?
- 29. objeto WCF Lista Serializado dar nombres extraños para los objetos
- 30. Cargar un objeto usando Gson
Podría explicar un poco más sobre lo que estamos tratando de hacer? Mi primera inclinación es crear una clase que envuelva la llamada a load_file y luego proporcione los valores que no existen en el archivo de configuración. Me gustaría poder brindar una solución más completa. –