Подтвердить что ты не робот

Режим открытия файла в Ruby

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

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

4b9b3361

Ответ 1

Режимы открытия файла не совсем специфичны для рубинов - они являются частью 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" нет, это файл "обычного текста".

Разница между 'open' и 'open for update' обозначается как:

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