RosettaCodeData/Task/Make-directory-path/OCaml/make-directory-path.ocaml

15 lines
319 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
#load "unix.cma"
let mkdir_p ~path ~perms =
let ps = String.split_on_char '/' path in
let rec aux acc = function [] -> ()
| p::ps ->
let this = String.concat Filename.dir_sep (List.rev (p::acc)) in
Unix.mkdir this perms;
aux (p::acc) ps
in
aux [] ps
let () =
mkdir_p "path/to/dir" 0o700