Режим открытия файлов в Ruby - PullRequest
49 голосов
/ 17 августа 2011

Я новый программист в Ruby.Может кто-нибудь взять пример открытия файла с режимами r +, w +, a + в Ruby?В чем разница между ними и r, w, a?

Пожалуйста, объясните и приведите пример.

1 Ответ

99 голосов
/ 17 августа 2011

Режимы открытия файлов не являются специфическими для ruby ​​- они являются частью IEEE Std 1003.1 ( Single UNIX Specification ).Вы можете прочитать больше об этом здесь:

http://pubs.opengroup.org/onlinepubs/009695399/functions/fopen.html

r or rb
    Open file for reading.

w or wb
    Truncate to zero length or create file for writing.

a or ab
    Append; open or create file for writing at end-of-file.

r+ or rb+ or r+b
    Open file for update (reading and writing).

w+ or wb+ or w+b
    Truncate to zero length or create file for update.

a+ or ab+ or a+b
    Append; open or create file for update, writing at end-of-file.

Любой режим, который содержит букву 'b', обозначает двоичный файл.Если «b» отсутствует, то это «обычный текстовый» файл.

Разница между «открытым» и «открытым для обновления» обозначается как:

Когда файлоткрывается с режимом обновления («+» в качестве второго или третьего символа в аргументе режима), и вход, и выход могут быть выполнены в связанном потоке.Тем не менее, приложение должно гарантировать, что за выводом непосредственно не следует ввод без промежуточного вызова fflush () или функции позиционирования файла (fseek (), fsetpos () или rewind ()), а за вводом непосредственно не следуетвывод без промежуточного вызова функции позиционирования файла, если только операция ввода не встречает конец файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...