Make directory path: Difference between revisions

Content added Content deleted
Line 85: Line 85:
true
true
(.mkdirs dir))))</lang>
(.mkdirs dir))))</lang>

=={{header|D}}==
<lang D>import std.stdio;

void main() {
makeDir("parent/test");
}

/// Manual implementation of what mkdirRecurse in std.file does.
void makeDir(string path) out {
import std.exception : enforce;
import std.file : exists;
enforce(path.exists, "Failed to create the requested directory.");
} body {
import std.array : array;
import std.file;
import std.path : pathSplitter, chainPath;

auto workdir = "";
foreach (dir; path.pathSplitter) {
workdir = chainPath(workdir, dir).array;
if (workdir.exists) {
if (!workdir.isDir) {
import std.conv : text;
throw new FileException(text("The file ", workdir, " in the path ", path, " is not a directory."));
}
} else {
workdir.mkdir();
}
}
}</lang>


=={{header|Elixir}}==
=={{header|Elixir}}==