Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. open Sys;;
  2.  
  3. let rec repeat chr times =
  4. match times with
  5. | 0 -> ()
  6. | _ -> print_string chr; repeat chr (times-1)
  7. ;;
  8.  
  9. let print_entry path level =
  10. repeat " " level;
  11. print_string ("| " ^ path ^ "\n")
  12. ;;
  13.  
  14. let process root =
  15. let rec sub_process path level =
  16. Array.iter (fun x -> match Sys.is_directory (path ^ "/" ^ x) with
  17. | true -> print_entry x level;sub_process (path ^ "/" ^ x) (level+4)
  18. | false -> print_entry x level
  19. ) (Sys.readdir path)
  20. in
  21. sub_process root 0
  22. ;;
  23.  
  24. let argc = Array.length Sys.argv in
  25. match argc with
  26. | 1 -> print_string "Not enough arguments ! (1 needed)\n"
  27. | 2 -> process Sys.argv.(1)
  28. | _ -> print_string "Too many arguments ! (1 needed)\n"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement