Программирование на языке Ruby.

8.1.23. Вычисление частоты различных значений в массиве.

Для массивов нет метода count, как для строк (чтобы подсчитать число вхождений каждого элемента). Поэтому создадим свой собственный:

Class Array.

 def count.

  k=Hash.new(0).

  self.each{|x| k[x]+=1 }.

  k.

 end.

End.

Meal = %w[spam spam eggs ham eggs spam].

Items = meal.count.

# items равно {"ham" => 1, "spam" => 3, "eggs" => 2}.

Spams = items["spam"] # 3.

Обратите внимание, что метод возвращает хэш.