This Web
All Webs
Erlang Links
Erlang Web Ring
int_countlines(Device, Result) -> case io:get_line(Device, "") of eof -> file:close(Device), Result; Line -> int_countlines(Device, Result + 1) end. countlines(FileName) -> {ok, Device} = file:open(FileName,[read]), int_countlines(Device, 0).
1> countlines("cookbook.erl"). 82
fold-file-lines
int_fold_lines(Device, Kons, Result) -> case io:get_line(Device, "") of eof -> file:close(Device), Result; Line -> NewResult = Kons(Line, Result), int_fold_lines(Device, Kons, NewResult) end. fold_file_lines(FileName, Kons, Knil) -> {ok, Device} = file:open(FileName,[read]), int_fold_lines(Device, Kons, Knil).
countlines
readlines
countlines(FileName) -> fold_file_lines(FileName, fun(L,R) -> R + 1 end, 0). readlines(FileName) -> fold_file_lines("cookbook.erl", fun(L,R) -> R ++ [L] end, []).