我正在做SaaS Stanford课程,试图完成这项任务的第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
Run Code Online (Sandbox Code Playgroud)
我可能会做各种各样的错误,阅读关于元编程的The Book of Ruby章节,我仍然没有得到它,有人能帮我理解这个吗?