Решение на Първа задача от Виктор Бечев

Обратно към всички решения

Към профила на Виктор Бечев

Резултати

  • 6 точки от тестове
  • 0 бонус точки
  • 6 точки общо
  • 17 успешни тест(а)
  • 0 неуспешни тест(а)

Код

class Array
def to_hash
hashed = {}
self.each { |n,m| hashed[n] = m }
hashed
end
def subarray_count(subarray)
counter = 0
(0..self.length-subarray.length+1).to_a.each do |n|
counter = counter + 1 if self[n..n+subarray.length-1] == subarray
end
counter
end
def occurences_count
counter = Hash.new(0)
self.each { |n| counter[n] = counter.fetch(n, nil) ? counter.fetch(n) + 1 : 1}
counter
end
def index_by
indexed = {}
self.each do |n|
indexed[yield n] = n
end
indexed
end
end

Лог от изпълнението

.................

Finished in 0.01383 seconds
17 examples, 0 failures

История (1 версия и 0 коментара)

Виктор обнови решението на 24.10.2011 16:58 (преди над 12 години)

+class Array
+
+ def to_hash
+ hashed = {}
+ self.each { |n,m| hashed[n] = m }
+ hashed
+ end
+
+ def subarray_count(subarray)
+ counter = 0
+ (0..self.length-subarray.length+1).to_a.each do |n|
+ counter = counter + 1 if self[n..n+subarray.length-1] == subarray
+ end
+ counter
+ end
+
+ def occurences_count
+ counter = Hash.new(0)
+ self.each { |n| counter[n] = counter.fetch(n, nil) ? counter.fetch(n) + 1 : 1}
+ counter
+ end
+
+ def index_by
+ indexed = {}
+ self.each do |n|
+ indexed[yield n] = n
+ end
+ indexed
+ end
+
+end