17 lines
478 B
Text
17 lines
478 B
Text
go =>
|
|
% removing '\n' first
|
|
Chars = delete_all(read_file_chars("unixdict.txt"),'\n'),
|
|
M = letter_freq(Chars),
|
|
println(M.sort_map(values).reverse).
|
|
|
|
% Get the letter frequency
|
|
letter_freq(S) = Map =>
|
|
Map = new_map(),
|
|
foreach(C in S)
|
|
Map.put(C,Map.get(C,0)+1)
|
|
end.
|
|
|
|
% Different sorting function on maps
|
|
sort_map(Map,values) = [K=V:_=(K=V) in sort([V=(K=V): K=V in Map])].
|
|
sort_map(Map,keys) = sort([KV : KV in Map]).
|
|
sort_map(Map) = sort_map(Map,keys).
|