鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 编程语言开发 > erlang > >

用Erlang实现递归查找文件

来源:互联网 作者:佚名 时间:2013-01-07 22:11
用Erlang实现递归查找文件 实现代码如下 1 - module (recursionsearch). 2 - export ([start/1 ]). 3 4 start(Dir) - 5 L = search_cur_dir(Dir, []), 6 io:format("~p~n" , [L]). 7 8 % 在当前文件夹中搜索指定文件 9 search_cur_dir(Dir, L) - 10 FunAddPa

用Erlang实现递归查找文件

实现代码如下

1 -module(recursionsearch). 2 -export([start/1]). 3 4 start(Dir) -> 5 L = search_cur_dir(Dir, []), 6 io:format("~p~n", [L]). 7 8 % 在当前文件夹中搜索指定文件 9 search_cur_dir(Dir, L) -> 10 FunAddPath = fun(File) -> filename:join(Dir, File) end, 11 FindList = lists:map(FunAddPath, filelib:wildcard("*.erl", Dir)), {ok, Filenames} -> 14 recursion(Dir, Filenames, FindList ++ L); 15 {error, Reason} -> {error, Reason} 16 end. 17 18 % 在当前文件夹的子目录中进行搜索 19 recursion(Dir, [H|T], L) -> 20 DirFlag=filelib:is_dir(filename:join(Dir, H)), -> recursion(Dir, T, search_cur_dir(filename:join(Dir, H), L)); 23 false -> recursion(Dir, T, L) 24 end; 25 26 recursion(_, [], L) -> 27 L.

 

posted on

美国空间虚拟主机香港虚拟主机
网友评论
<