From: Kazuhiro HIWADA Date: 1998-07-03T02:36:31+09:00 Subject: [ruby-list:8623] method iterator ひわだです。最近いろんな話が出て来て面白いです。 こん↓なの思い付いたんですけど、どうですか? ^^;。わりと使えそうな気が するんですが。ちょっと変かな。 module Enumerable class MethodIterator self.instance_methods.each{|m| undef_method m} def initialize(e, id) @a_enumerable, @method_id = e, id end def method_missing(id, *a, &block) @a_enumerable.send(@method_id){|c| c.send(id, *a, &block)} end end def meach ; MethodIterator.new(self, :each) end def mcollect ; MethodIterator.new(self, :collect) end def mfind ; MethodIterator.new(self, :find) end end p ["1","4","2","3","5"].mcollect.to_i.sort p [[1,2,3,4,5],[5,4,3,2,1]].mcollect.sort{|a,b| b<=>a} p [0,3,2,4,0,5].mfind.nonzero? あ、それだけです ^^;。では。 -- 檜田 和浩 ( hiwada@kuee.kyoto-u.ac.jp )