Anonymous user
Letter frequency: Difference between revisions
→{{header|Ruby}}
m (Show simplified alternative) |
|||
Line 1,888:
["w", 1]</pre>
==
<lang ruby>def letter_frequency(file)
freq = Hash.new(0)
file.each_char.lazy.grep(/[[:alpha:]]/).map(&:upcase).
freq_map[char] += 1
end
end
letter_frequency(ARGF).sort.each do |letter, frequency|
puts "#{letter}: #{frequency}
end</lang>
note that this version *should* use less memory, even on a gigantic file. This is done by using lazy enumerables, which ruby 2.0 introduces.
|