Is this code tail recursive ?
Radu Brumariu
brum76@REDACTED
Mon Feb 7 00:08:57 CET 2011
gather_files([]) -> [];
gather_files(F) ->
gather_files(F,[]).
gather_files([],[Acc]) -> Acc;
gather_files([{path,F}|Files],Acc) ->
io:format("Processing path ~p~n",[F]),
{ok, T} = file:read_file_info(F),
case T#file_info.type
of
regular ->
gather_files(Files, [F | Acc]);
directory ->
gather_files(Files, [gather_directory_files(F) | Acc ]);
_ ->
gather_files(Files, Acc)
end.
gather_directory_files(D) ->
filelib:fold_files( D, ".*", true, fun(X,Acc) ->
[X|Acc]
end,
[]).
If not, how can it be rewritten ?
Thanks,
Radu
More information about the erlang-questions
mailing list