Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- open Sys;;
- let rec repeat chr times =
- match times with
- | 0 -> ()
- | _ -> print_string chr; repeat chr (times-1)
- ;;
- let print_entry path level =
- repeat " " level;
- print_string ("| " ^ path ^ "\n")
- ;;
- let process root =
- let rec sub_process path level =
- Array.iter (fun x -> match Sys.is_directory (path ^ "/" ^ x) with
- | true -> print_entry x level;sub_process (path ^ "/" ^ x) (level+4)
- | false -> print_entry x level
- ) (Sys.readdir path)
- in
- sub_process root 0
- ;;
- let argc = Array.length Sys.argv in
- match argc with
- | 1 -> print_string "Not enough arguments ! (1 needed)\n"
- | 2 -> process Sys.argv.(1)
- | _ -> print_string "Too many arguments ! (1 needed)\n"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement