Si tengo esta clase:¿Hay alguna manera de inicializar un objeto mediante un hash?
class A
attr_accessor :b,:c,:d
end
y este código:
a = A.new
h = {"b"=>10,"c"=>20,"d"=>30}
es posible inicializar el objeto directamente a partir del hash, sin mí tener que pasar sobre cada par y llame instance_variable_set
? Algo así como:
a = A.new(h)
que debería hacer que cada variable de instancia para inicializar a la que tiene el mismo nombre en el hash.
+1. Por cierto, es posible que desee considerar el uso de 'public_send' en lugar de' send' para evitar llamar escritores de atributos privados :) – epidemian
+1 para el constructor gem –