RosettaCodeData/Task/Make-directory-path/OCaml/make-directory-path.ocaml
2023-07-01 13:44:08 -04:00

14 lines
319 B
Text

#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