15 lines
408 B
Text
15 lines
408 B
Text
(import std.String :toLower :find :asciiLowercase)
|
|
(import std.List)
|
|
(import std.Dict)
|
|
(import std.IO)
|
|
|
|
(let countLetters (fun (s) {
|
|
(let counts (dict))
|
|
(list:forEach s
|
|
(fun (c) {
|
|
(set c (toLower c))
|
|
(if (!= -1 (find asciiLowercase c))
|
|
(dict:add counts c (if (nil? (dict:get counts c)) 1 (+ 1 (dict:get counts c))))) }))
|
|
counts }))
|
|
|
|
(print (countLetters (io:readFile "f.txt")))
|