Advertisement
Guest User

Untitled

a guest
Jan 19th, 2022
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 0.95 KB | None | 0 0
  1. -module(laskenta).
  2. -export([laske_kirjaimet/2, lue_tiedosto/1]).
  3.  
  4. lue_tiedosto(Tiedosto) ->
  5.     {ok, TiedostoKahva} = file:open(Tiedosto, read),
  6.     {Sanat, Kirjaimet} = laske_sanat_kirjaimet(TiedostoKahva, 0, 0),
  7.     io:format("Tiedostossa ~s on ~B sanaa ja ~B kirjainta.~n", [Tiedosto,
  8.                                 Sanat,
  9.                                 Kirjaimet]).
  10.  
  11. laske_sanat_kirjaimet(TK, Sanat, Kirjaimet)  ->
  12.     case io:get_line(TK, '') of
  13.     eof ->
  14.         {Sanat, Kirjaimet};
  15.         Line ->
  16.         {UudetSanat, UudetKirjaimet} = laske_kirjaimet(string:tokens(Line, " "),
  17.                                Kirjaimet),     
  18.         laske_sanat_kirjaimet(TK, UudetSanat+Sanat, UudetKirjaimet)
  19.     end.
  20.  
  21. laske_kirjaimet([], Kirjaimet) ->
  22.     {0,Kirjaimet};
  23. laske_kirjaimet([Sana|Kirja], Kirjaimet) ->
  24.     R= io_lib:format("~p",[Sana]),
  25.     lists:flatten(R),
  26.     Sanan_pituus = string:len(Sana),
  27.     {UudetSanat, UudetKirjaimet} = laske_kirjaimet(Kirja, Kirjaimet + Sanan_pituus),
  28.     {UudetSanat+1, UudetKirjaimet}.
  29.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement