Quais são os modos e opções do Ruby File.open?

186

Ruby File.opentoma modos e opções como argumentos. Onde encontro uma lista completa de modos e opções?

never_had_a_name
fonte
ruby-doc.org/core-2.0.0/IO.html#method-c-new-label-IO+Open+Mode - O link para esta página está na resposta de Daniels abaixo, mas você precisa rolar a página para chegar a isto. Aqui está o link direto para a parte relevante dos documentos.
newUserNameAqui 30/10

Respostas:

377

Na documentação do módulo Ruby IO , suponho.

Mode |  Meaning
-----+--------------------------------------------------------
"r"  |  Read-only, starts at beginning of file  (default mode).
-----+--------------------------------------------------------
"r+" |  Read-write, starts at beginning of file.
-----+--------------------------------------------------------
"w"  |  Write-only, truncates existing file
     |  to zero length or creates a new file for writing.
-----+--------------------------------------------------------
"w+" |  Read-write, truncates existing file to zero length
     |  or creates a new file for reading and writing.
-----+--------------------------------------------------------
"a"  |  Write-only, starts at end of file if file exists,
     |  otherwise creates a new file for writing.
-----+--------------------------------------------------------
"a+" |  Read-write, starts at end of file if file exists,
     |  otherwise creates a new file for reading and
     |  writing.
-----+--------------------------------------------------------
"b"  |  Binary file mode (may appear with
     |  any of the key letters listed above).
     |  Suppresses EOL <-> CRLF conversion on Windows. And
     |  sets external encoding to ASCII-8BIT unless explicitly
     |  specified.
-----+--------------------------------------------------------
"t"  |  Text file mode (may appear with
     |  any of the key letters listed above except "b").
Daniel O'Hara
fonte
2
Obrigado pela lista das moes. Mas onde estão na lista para as opções: File.open (filename, mode = "r" [, opt]) => arquivo
never_had_a_name
1
Onde você encontrou aquilo? Infelizmente, não consigo encontrar File.open(filename, mode="r" [, opt])na documentação.
Daniel O'Hara
@floatless. na API para a classe File. Vá para a classe "Arquivo" e clique no método "Abrir".
never_had_a_name
1
Suponho que seja experimental, que ainda não foi implementado. E ainda não entendo qual API você fala. Dê um link.
Nakilon
1
Se eu puder adicionar uma coisinha para "a +", o Read começa no início do arquivo, não exatamente no final do arquivo (no caso de alguém se perguntar).
yoppuyoppu
6

opté novo para o ruby ​​1.9. As várias opções estão documentadas em IO.new: www.ruby-doc.org/core/IO.html

Shadwell
fonte
Infelizmente, esse link agora parece obsoleto!
Carl Smotricz