¿Cuáles son los modos y opciones de Ruby File.open?

186

Ruby File.opentoma modos y opciones como argumentos. ¿Dónde encuentro una lista completa de modos y opciones?

never_had_a_name
fuente
ruby-doc.org/core-2.0.0/IO.html#method-c-new-label-IO+Open+Mode - El enlace a esta página se encuentra en la respuesta de Daniels a continuación, pero debe desplazarse por la página para acceder a eso. Aquí está el enlace directo a la parte relevante de los documentos.
newUserNameHere

Respuestas:

377

En la documentación del módulo Ruby IO , supongo.

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
fuente
2
Gracias por la lista de los moes. Pero, ¿dónde está la lista de opciones: File.open (filename, mode = "r" [, opt]) => file
never_had_a_name
1
¿Dónde encontraste eso? Lamentablemente, no puedo encontrar File.open(filename, mode="r" [, opt])en la documentación.
Daniel O'Hara
@ sin flotador. en la API para la clase de archivo. Vaya a la clase "Archivo" y luego haga clic en el método "abrir".
never_had_a_name
1
Supongo que es algo experimental, que aún no está implementado. Y todavía no entiendo de qué API hablas. Dar un enlace.
Nakilon
1
Si puedo agregar una pequeña cosa para "a +", Leer comienza al principio del archivo, no exactamente al final del archivo (en caso de que alguien se lo pregunte).
yoppuyoppu
6

optes nuevo para ruby ​​1.9. Las diversas opciones están documentadas en IO.new: www.ruby-doc.org/core/IO.html

Shadwell
fuente
¡Desafortunadamente, ese enlace ahora parece estar obsoleto!
Carl Smotricz