2016-04-03 9 views
7

JuliaにはPythonのwithと同等の機能がありますか?多分マクロとして?例えば、開いているファイルを自動的に閉じるなど、これは非常に便利です。JuliaのPythonの 'with'に相当しますか?

+0

なぜ近い投票ですか?コメントを残してください。 – becko

答えて

10

ブロックdoを使用してください。 doブロックのドキュメントはhereです。

そして、ここでは、ジュリアにはPythonの通常のwith open(filename) as my_fileを行う方法の例です:

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

上記の例では、あまりにもJulia wikibooksからです。

+2

ありがとう、私は 'do'ブロックを知らなかった。ドキュメント(http://docs.julialang.org/)で見つけることができません。また、「オープン」は第1引数として機能することができることも学びました。その後、関数をファイルハンドルに適用し、後に自動的にファイルを閉じます。 – becko

+6

これはドキュメントにあります。関数セクションの下で:http://docs.julialang.org/en/release-0.4/manual/functions/#do-block-syntax-for-function-arguments – niczky12

+0

'do'ブロックは定義するのに便利な方法です無名関数は 'open'の最初の引数として使われます。また、これは 'open'に限定されず、第1引数として別の関数を受け入れる関数で使用できます。 – tholy

関連する問題