Георги обнови решението на 24.10.2011 12:48 (преди над 12 години)
+class Array
+
+
+ def to_hash
+ out = {}
+ self.each { |k, v| out[k] = v }
+ out
+ end
+
+ def index_by
+ e_hash = {}
+ self.each { |el| e_hash[yield el] = el }
+ e_hash
+ end
+
+ def subarray_count(arr)
+ cnt = i = 0
+ self.each do |el|
+ if (self.slice(i, arr.length) == arr)
+ cnt += 1
+ end
+ i += 1
+ end
+ cnt
+ end
+
+ def occurences_count
+ e_hash = Hash.new(0)
+ self.each { |el| e_hash[el] = self.count(el) }
+ e_hash
+ end
+
+end