Раздел «Язык Ruby».CountWordFrequences:

Задача "Частоты слов"

Файл "a.txt" содержит слова, разделенные пробельными символами. Выведите 10 наиболее часто встречаемых слов с указанием их частот.

IO.read("a.txt").downcase!.scan(/[а-я]{5,}/).inject(Hash.new(0)) {|f,word|
   f[word] += 1
   f
}.to_a.sort_by{|x| -x[1]}.[0..10].each {|word,freq|
   puts "%10s %5d" % [word, freq]
}

-- ArtemVoroztsov - 08 May 2007