ExpertiDict

Ruby · Essencial · Inglês · Técnico

File open

/faɪl ˈoʊpən/método

File.open com bloco abre o arquivo, entrega o objeto ao bloco e o fecha sozinho ao terminar, mesmo se houver exceção. É a forma idiomática de lidar com arquivos.

Onde usar

Aparece em leitura e escrita de arquivos, onde esquecer o close vaza descritores. Para ler tudo de uma vez, File.read é mais curto.

Em código

File.open("notas.txt", "w") do |f|
  f.puts "linha 1"
  f.puts "linha 2"
end
File.open("notas.txt") do |f|
  f.each_line { |l| puts l.chomp }
end

Exemplos

Open the file with a block so it closes itself.

Abra o arquivo com um bloco para ele se fechar sozinho.

I forgot to close the file and leaked a descriptor.

Esqueci de fechar o arquivo e vazei um descritor.

Cuidado

Sem bloco, File.open devolve o arquivo aberto e você mesmo precisa chamar close, de preferência num ensure.

Veja também

Todos os termos de Ruby