ひわだです。最近いろんな話が出て来て面白いです。
こん↓なの思い付いたんですけど、どうですか? ^^;。わりと使えそうな気が
するんですが。ちょっと変かな。
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 )