From: Daniel DeLorme Date: 2007-06-26T08:42:15+09:00 Subject: Re: method_missing for Enumerator TRANS wrote: > But I take your point, I had tried using a separate class > (Enumerable::Elementor), but it meant using a #to_elem (eg. > [1,2,3].to_elem(:select) > 2) which largely killed the effect. Unless > someone has better ideas for achieving R-like operations, adding > method_missing to Enumerator seems like the best bet. I'll make it as > an add-on library of Facets. Maybe making it more explicit would remove a lot of the perceived danger, e.g.: class Enumerable::Enumerator def for enum = self.dup def enum.method_missing... enum end end [1,2,3].select.for > 2 or alternatively: class Enumerable::Enumerator def element Enumerable::Elementor(self) end end [1,2,3].select.element > 2 I think that's getting awfully close to higher order messaging though. Daniel