Write an Erlang program that counts the word frequencies in the file assign3-part2.txt. Erlang uses a list of tuples as a hash table. Write four Erlang functions.
file:open
. The file was written in a text editor as one line, so io:get_line
will read the whole file. string:tokens
will separate it into words. Its second argument specifies all the delimiters.file:open(lab3-part2.txt,read).
L1= io:get_line(S, '').
lists:keyfind
method will find a tuple if it exists and return false if it does not. If the word is not found use lists:append
to add a tuple with the word as key and 1
as the frequency. If the word is found use lists:replace
to replace the tuple with a new tuple with frequency increased by one.string:to_lower
method will make a word lower case to provided the desired case insensitivity. Use the lists:foldl
method to build the answer using the function 2
.lists:sort
function. Its one parameter is the file name. It uses functions 3
and 1
.