Sto provando a convertire hash e hash nidificati in oggetti.convertire hash nell'oggetto
finora oggetto primo hash viene convertito con successo da questo codice:
class Hashit
def initialize(hash)
hash.each do |k,v|
self.instance_variable_set("@#{k}", v)
self.class.send(:define_method, k, proc{self.instance_variable_get("@#{k}")})
self.class.send(:define_method, "#{k}=", proc{|v| self.instance_variable_set("@#{k}", v)})
end
end
end
Ma il problema è, voglio anche per convertire gli oggetti hash nidificati. ma non ce l'ho fatta
h = Hashit.new({a: '123r', b: {c: 'sdvs'}})
=> #<Hashit:0x00000006516c78 @a="123r", @b={:c=>"sdvs"}>
vedere @b={:c=>"sdvs"}
questa parte in uscita. Voglio anche convertirlo in oggetto. è possibile se sì allora come?
Se si chiede 'h' di avere variabili di istanza' [: @a,: @b,: @c] ', come @ Ben e ho assunto, la risposta che selezionato non è corretto. –