From: Stuart Clarke Date: 2009-02-03T05:43:49+09:00 Subject: Hash counting I am trying to load some data into a hash and then count how many times it occurs in the hash, if it occurs more than 5 times then we are adding some data to an array. Below is my code which I will explain eventdateID.push eventsbydate.gsub(/\s/, '')[0..7] + eventsbydate[26..30] counts = Hash.new(0) if eventdateID.find {|d| (counts[d] +=1) >= 5} @alerts.push("#{event.event_id} #{@tab} #{event.time_written} #{@tab}#{event.event_type} #{@tab} #{type}") end The first line loads a time and date value into an array and using gsub it creates the date and time into an ID value. We then process the array and say if an entry (a date/time ID) occurs more or equal to 5 times add some data to an array. My testing with this code is not picking up on any such occurrences, which I no exist see below: MonFeb022009 MonFeb022009 MonFeb022009 MonFeb022009 MonFeb022009 MonFeb022009 MonFeb022009 MonFeb022009 MonFeb022009 Does anyone have any ideas why my code is not working? I do not get errors, it just does not return any data. Thanks in advance -- Posted via http://www.ruby-forum.com/.