Что такое режимы и опции Ruby File.open?

186

Ruby's File.openпринимает режимы и параметры в качестве аргументов. Где найти полный список режимов и опций?

never_had_a_name
источник
ruby-doc.org/core-2.0.0/IO.html#method-c-new-label-IO+Open+Mode - ссылка на эту страницу приведена в ответе Дэниела, но вам нужно прокрутить страницу, чтобы перейти к Это. Вот прямая ссылка на соответствующую часть документов.
newUserNameHere

Ответы:

377

В документации модуля рубин IO , я полагаю.

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").
Даниэль О'Хара
источник
2
Спасибо за список Мос. Но где список параметров: File.open (имя файла, mode = "r" [, opt]) => file
never_had_a_name
1
Где вы это нашли? К сожалению, я не могу найти File.open(filename, mode="r" [, opt])в документации.
Даниэль О'Хара
@floatless. в API для класса File. Перейдите в класс «Файл», затем нажмите метод «Открыть».
never_had_a_name
1
Полагаю, это какой-то эксперимент, который еще не реализован. И я до сих пор не понимаю, о каком API ты говоришь. Дайте ссылку.
Накилон
1
Если я могу добавить одну маленькую вещь для «a +», чтение начинается в начале файла, а не точно в конце файла (на случай, если кто-то спросит).
yoppuyoppu
6

optновое для ruby ​​1.9. Различные варианты описаны в IO.new: www.ruby-doc.org/core/IO.html.

Shadwell
источник
К сожалению, эта ссылка сейчас устарела!
Карл Смотриц