Se ho questa classe:C'è un modo per inizializzare un oggetto attraverso un hash?
class A
attr_accessor :b,:c,:d
end
e questo codice:
a = A.new
h = {"b"=>10,"c"=>20,"d"=>30}
è possibile inizializzare l'oggetto direttamente dalla hash, senza di me la necessità di andare oltre ogni coppia e chiamare instance_variable_set
? Qualcosa di simile:
a = A.new(h)
che dovrebbe causare ogni variabile di istanza per essere inizializzato a quello che ha lo stesso nome nella hash.
+1. A proposito, potresti voler considerare l'uso di 'public_send' invece di' send' per evitare di chiamare scrittori di attributi privati :) – epidemian
+1 per la gemma del costruttore –