Pergunta

Eu gostaria de escrever alguns dados para um arquivo em Ruby. Qual é a melhor maneira de fazer isso?

Foi útil?

Solução

File.open("a_file", "w") do |f|
    f.write "some data"
end

Você também pode usar f << "some data" ou f.puts "some data" de acordo com gosto pessoal / necessidade de ter novas linhas. Alterar o "w" para "a" se você deseja anexar o arquivo em vez de truncar a cada aberto.

Outras dicas

require 'rio'
rio('foo.txt') < 'bar'

http://rio.rubyforge.org/

Além File.new ou File.open (e todos os outros divertido IO coisas) que você pode desejar, especialmente se você está salvando de e o carregamento de volta para ruby ??e seus dados estão em objetos, olhar usando Marshal para salvar e carregar seus objetos diretamente.

Usando o File :: open é o melhor caminho a seguir:

File.open("/path/to/file", "w") do |file|
  file.puts "Hello file!"
end

Como foi referido anteriormente, você pode usar "a" em vez de "w" para anexar ao arquivo. Maio outros modos estão disponíveis, listados sob ri IO, ou no Rubi QuickRef .

filey = File.new("/path/to/the/file", APPEND)
filey.puts "stuff to write"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top