Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -module(laskenta).
- -export([laske_kirjaimet/2, lue_tiedosto/1]).
- lue_tiedosto(Tiedosto) ->
- {ok, TiedostoKahva} = file:open(Tiedosto, read),
- {Sanat, Kirjaimet} = laske_sanat_kirjaimet(TiedostoKahva, 0, 0),
- io:format("Tiedostossa ~s on ~B sanaa ja ~B kirjainta.~n", [Tiedosto,
- Sanat,
- Kirjaimet]).
- laske_sanat_kirjaimet(TK, Sanat, Kirjaimet) ->
- case io:get_line(TK, '') of
- eof ->
- {Sanat, Kirjaimet};
- Line ->
- {UudetSanat, UudetKirjaimet} = laske_kirjaimet(string:tokens(Line, " "),
- Kirjaimet),
- laske_sanat_kirjaimet(TK, UudetSanat+Sanat, UudetKirjaimet)
- end.
- laske_kirjaimet([], Kirjaimet) ->
- {0,Kirjaimet};
- laske_kirjaimet([Sana|Kirja], Kirjaimet) ->
- R= io_lib:format("~p",[Sana]),
- lists:flatten(R),
- Sanan_pituus = string:len(Sana),
- {UudetSanat, UudetKirjaimet} = laske_kirjaimet(Kirja, Kirjaimet + Sanan_pituus),
- {UudetSanat+1, UudetKirjaimet}.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement