On Sunday 06 May 2012, Peter Schröder wrote: > hi hendrik, > > instance_exec hab ich zwar noch nie benutzt, aber dafür schon diverse > probleme mit instance_eval gehabt. > > pascal hat das problem mit dem scope schön beschrieben. > > wenn man das aus der sicht des dsl-benutzenden darstellen möchte, > dann sollte man sich vergegenwärtigen, dass es schwer zu ersehen > ist, ob die sachen, die man im block (der "closure") verwendet denn > tatsächlich die sind, die man erwartet, der zugriff auf methoden ist > nicht transparent: > > class Scope > def self.doit(&block) > instance_eval(&block) > end > end
[...] Wie wäre etwas in dieser Art: class Scope def doit(context, &block) delegate_missing_to(context) copy_instance_vars(context, self) instance_eval(&block) copy_instance_vars(self, context) end end Michael -- Michael Schuerig mailto:mich...@schuerig.de http://www.schuerig.de/michael/ _______________________________________________ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug