Great stuff thanks. I went the last solution as I only want to pick up 
any any high occurances.

Many thanks

Brian Candler wrote:
> 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/.