Другое законное использование document.write
происходит из примера HTML5 Boilerplate index.html .
Я также видел тот же метод для использования функции json2.js JSON анализирует / строит полипол (, необходимый IE7 и ниже ).
Вы можете использовать each_with_object
(или inject
) и передать хеш, где новые ключи инициализируются со значением ноль:
ary.each_with_object(Hash.new(0)){ |(k, v), count| count[k] += v }
# => {"a"=>30, "b"=>16, "c"=>12}