Веселин обнови решението на 23.10.2011 20:56 (преди около 13 години)
+class Array
+ def to_hash
+ Hash[*self.flatten]
+ end
+
+ def index_by
+ hash = {}
+ self.each { |element| hash[yield element] = element }
+ return hash
+ end
+
+ def subarray_count array
+ subarrays_count = 0
+ self.each_index { |index| subarrays_count += 1 if self[index...index + array.length] == array }
+ return subarrays_count
+ end
+
+ def occurences_count
+ hash = Hash.new(0)
+ self.each do |element|
+ if hash.has_key?(element)
+ hash[element] = hash[element] + 1
+ else
+ hash[element] = 1
+ end
+ end
+ return hash
+ end
+end