#!/usr/bin/ruby
#
## http://rosettacode.org/wiki/Letter_frequency#Sidef
#
func letter_frequency(File file) {
file.read.chars.grep{.match(/[[:alpha:]]/)} \
.group_by {|letter| letter.downcase} \
.map_val {|_, val| val.len} \
.sort_by {|_, val| -val}
}
var top = letter_frequency(File(__FILE__))
top.each{|pair| say "#{pair[0]}: #{pair[1]}"}