Elixir中是否具有以下功能:
目前,我已经写了一个像这样的函数,尽管它相当 不方便为我要写入文件的每个项目编写此文件 父母可能还不存在。
defp write_to_file(path, contents) do
with :ok <- File.mkdir_p(Path.dirname(path)),
:ok <- File.write(path, contents)
do
:ok
end
end
最理想的情况是这样的东西作为Elixir标准库的一部分存在,但是我找不到这样的东西
File.write(path, content, create_parents: true)
答案 0 :(得分:3)
standard library中没有类似的内容。尽管为什么不这样做:
File.mkdir_p!(Path.dirname(path))
File.write(path, contents)
但是,如果您要传递来自mkdir
的错误,可以将代码简化如下:
with :ok <- File.mkdir_p(Path.dirname(path)) do
File.write(path, contents)
end