web-dev-qa-db-fra.com

Créer un fichier vide en Ruby: équivalent "touch"?

Quel est le meilleur moyen de créer un fichier vide en Ruby?

Quelque chose de semblable à la commande Unix, touch :

touch file.txt
111
Abhi Beckert

FileUtils.touch ressemble à ce que ça fait, et reflète* la commande touch:

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

* Contrairement à touch (1) vous ne pouvez pas mettre à jour mtime ou atime seul. Il manque également quelques autres options intéressantes.

172
Dave Newton

Si vous êtes inquiet au sujet des descripteurs de fichiers:

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

De la docs :

Si le bloc de code optionnel est donné, le fichier ouvert sera passé en argument et l'objet File sera automatiquement fermé à la fin du bloc.

42
Michael Kohl

Dans Ruby 1.9.3+, vous pouvez utiliser File.write (A.k.a IO.write ):

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

Pour les versions antérieures, soit require "backports/1.9.3/file/write" , soit utilisez File.open("foo.txt", "w") {}

21

Et aussi, moins avantageux, mais très bref:

`touch file.txt`
2
Boris Stitnicky