Если у меня есть этот класс:Есть ли способ инициализировать объект через хэш?
class A
attr_accessor :b,:c,:d
end
и этот код:
a = A.new
h = {"b"=>10,"c"=>20,"d"=>30}
является возможность инициализировать объект непосредственно из хэша, без меня необходимости идти по каждой паре и называть instance_variable_set
? Что-то вроде:
a = A.new(h)
, который должен привести к каждой переменной экземпляра для инициализации на тот, который имеет такое же имя в хэш.
+1. BTW, вы можете захотеть использовать 'public_send' вместо' send', чтобы избежать вызова частных писателей атрибутов :) – epidemian
+1 для конструктора gem –