Как посчитать повторяющиеся элементы в массиве Ruby - PullRequest
62 голосов
/ 20 февраля 2009

У меня есть отсортированный массив:

[
  'FATAL <error title="Request timed out.">',
  'FATAL <error title="Request timed out.">',
  'FATAL <error title="There is insufficient system memory to run this query.">'
]

Я бы хотел получить что-то подобное, но это не обязательно должен быть хеш:

[
  {:error => 'FATAL <error title="Request timed out.">', :count => 2},
  {:error => 'FATAL <error title="There is insufficient system memory to run this query.">', :count => 1}
]

Ответы [ 11 ]

0 голосов
/ 21 февраля 2009

Простая реализация:

(errors_hash = {}).default = 0
array_of_errors.each { |error| errors_hash[error] += 1 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...