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
Run Code Online (Sandbox Code Playgroud)
最理想的情况是这样的东西作为Elixir标准库的一部分存在,但是我找不到这样的东西
File.write(path, content, create_parents: true)
Run Code Online (Sandbox Code Playgroud)
标准库中没有类似的东西。尽管为什么不这样做:
File.mkdir_p!(Path.dirname(path))
File.write(path, contents)
Run Code Online (Sandbox Code Playgroud)
但是,如果您要传递来自的错误mkdir,可以将代码简化如下:
with :ok <- File.mkdir_p(Path.dirname(path)) do
File.write(path, contents)
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
444 次 |
| 最近记录: |