相当于朱莉娅的Python'with'?

时间:2016-04-03 13:07:25

标签: julia

朱莉娅是否有相当于Python的with?也许作为一个宏?例如,这非常有用,可以自动关闭打开的文件。

2 个答案:

答案 0 :(得分:11)

使用do块。 do块上的文档是here

以下是如何在Julia中执行通常的with open(filename) as my_file Python的示例:

open("sherlock-holmes.txt") do filehandle
  for line in eachline(filehandle)
      println(line)
  end
end

以上示例也来自Julia wikibooks

答案 1 :(得分:1)

尽管do块语法确实与Python的with语句有某些相似之处,但没有确切的对等之处。 GitHub问题“ with for deterministic destruction”中对此进行了详细讨论。该问题的结论是,尽管没有为此建立语法或计划,但应将这种结构添加到Julia中。