ブロックありとブロックなしの File.open
概要
ブロックについて質問がありますが、2 つのコードは同じ意味ですか?
コード1
File::open('yozloy.txt','w') do |f|
f << 'Some contains'
end
コード2
newFile = File::open('yozloy.txt','w')
newFile << 'Some contains'
解決策
いいえ、同じ意味ではありません。最初の例では、ブロックが処理された後、ファイルは自動的に閉じられます。 2 番目の例では、newFile.close を手動で呼び出すのはユーザーの責任です。