From: Brian Candler Date: 2008-11-05T23:18:03+09:00 Subject: Re: String comparisions and counting Stuart Clarke wrote: > I have an array full of strings which represent a date ID. The array > contains indivduals strings like the following: > > TueAug052008 > > I want to iterate through this array (@eventbydate[]) and check each of > the values of the array. I then want a statement which says if any of > the date ID's in the array occurs more than 5 times print out some data. counts = Hash.new(0) @eventbydate.each { |e| counts[e] += 1 } if counts.find { |c| c >= 5 } puts "Print out some data" end There are other variations: ... if counts.values.max >= 5 ... More efficient is to stop counting as soon as you reach 5, if you don't need the final values: counts = Hash.new(0) if @eventbydate.find { |e| (counts[e] += 1) >= 5 } puts "Print out some data" end -- Posted via http://www.ruby-forum.com/.