Я провожу урок SaaS в Стэнфорде, пытаясь выполнить часть 5 этого задания
Мне очень трудно понять эту концепцию, вот что я пытался сделать:
class Class
def attr_accessor_with_history(attr_name)
attr_name = attr_name.to_s
attr_reader attr_name
attr_reader attr_name + '_history'
class_eval %Q'{def #{attr_name}(a);#{attr_name}_history.push(a) ; end;}'
end
end
Я, вероятно, делаю много чего неправильно, прочитал главу The Book Of Ruby о метапрограммировании и до сих пор не понимаю, может ли кто-нибудь помочь мне понять это?