最简单/最清晰/最简单/最简单的方法是什么?A)创建一个临时文件,B)向其中写入一个字符串,C)返回新创建的文件名?
这是我到目前为止所取得的最好成绩:
fname,io = mktemp(); write(io, "<contents>");
# use fname...
Run Code Online (Sandbox Code Playgroud)
有什么我可以做的聪明的幻想的事情do end吗?有人有更好的建议吗?:) 谢谢!
一种方法是mktemp() .|> (path->path, io->(write(io, "<contents>"); close(io))) |> first(这只需要 1 个分号/“行”即可安全关闭 io)。我猜do块主要用于多行代码:
julia> mktemp() do path,io
write(io, "<contents>")
path
end
"/var/folders/ft/nd_bm3z52152069y78vb71280000gn/T/tmpKLWTBD"
Run Code Online (Sandbox Code Playgroud)
哎呀!上面的 do-block 方式会在完成后自动删除临时文件。这不应该自动closeio 喜欢吗open?!
你可以做
f = tempname()
write(f, "Hello")
Run Code Online (Sandbox Code Playgroud)
如果需要“单线”,则可以放在同一行上
f = tempname(); write(f, "Hello")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
220 次 |
| 最近记录: |