From: Charles Churchill Date: 2006-05-11T23:53:53+09:00 Subject: each with arguments I've found myself writing the following code to address needs I have processing formatted text files, but is this possible some other and I am going through foolish gyrations here... Here is the code: class Array alias :orig_each :each def each(cnt = 1, &blk) if cnt == 1 orig_each { |x| blk.call(x) } else 0.step(self.size - 1,cnt) do |i| yield(self.slice(i,cnt)) end end end end so I can do things like this arr = [ key, value, value, key, value, value, key, value, value, ... ] arr.each(3) do |key,val1,val2| #manipulate them as I see fit end Thanks for any help you can give! Charles Churchill Account Executive Datatek, Inc. 800 536-4835 ext. 145 1 919 425-3145 (international) churchill@datatek-net.com