Создание пустого файла в Ruby: «сенсорный» эквивалент? - PullRequest
110 голосов
/ 12 ноября 2011

Как лучше всего создать пустой файл в Ruby?

Что-то похожее на команду Unix, touch :

touch file.txt

Ответы [ 5 ]

171 голосов
/ 12 ноября 2011

FileUtils.touch выглядит как то, что он делает, и отражает * команда touch:

require 'fileutils'
FileUtils.touch('file.txt')

* В отличие от touch (1) вы не можете обновлять mtime или atime в одиночку. Также не хватает нескольких других приятных опций.

41 голосов
/ 12 ноября 2011

Если вас беспокоят файловые дескрипторы:

File.open("foo.txt", "w") {}

Из документов :

Если указан дополнительный блок кода, он будетпередал открытый файл в качестве аргумента, и объект File будет автоматически закрыт после завершения блока.

20 голосов
/ 12 ноября 2011

В Ruby 1.9.3+ вы можете использовать File.write (он же IO.write):

File.write("foo.txt", "")

Для более ранней версии либо require "backports/1.9.3/file/write" или используйте File.open("foo.txt", "w") {}

2 голосов
/ 13 ноября 2012

А также, менее выгодно, но очень кратко:

`touch file.txt`
0 голосов
/ 12 ноября 2011

Просто пример:

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