Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type FileSys = Element list
- and Element =
- | File of string*string
- | Dir of string * FileSys;;
- let d1 = Dir("d1",[File("a1","java");
- Dir("d2", [File("a2","fsx");
- Dir("d3", [File("a3","fs")])]);
- File("a4","fsx");
- Dir("d3", [File("a5","pdf")])]);;
- // 1)
- let rec namesFileSys = function
- | [] -> []
- | e::es -> (namesElement e) @ (namesFileSys es)
- and namesElement = function
- | File(s,ss) -> [s+"."+ss]
- | Dir(s,fs) -> s :: (namesFileSys fs);;
- // 2)
- let rec searchFileSys = function
- | [] -> []
- | e::es -> (namesElement e) @ (namesFileSys es)
- and searchElement = function
- | File(s,ss) ->
- | Dir(s,fs) -> s :: (searchFileSys fs)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement