我一直坚持一些简单的任务.我们假设我们有一些伪代码:
Enum.each 1..1_000_000, fn(id) ->
some_complex_method(id) |> save_results
end
Run Code Online (Sandbox Code Playgroud)
哪里save_results是
def save_results(data) do
{:ok, file} = File.open "data.log", [:append]
Enum.each(data, &(IO.binwrite(file, &1)))
File.close file
end
Run Code Online (Sandbox Code Playgroud)
问题是,如果我们的范围非常大,我们会花时间打开和关闭文件.工作完成后如何处理打开状态和调用close方法?