在Ruby中创build一个空文件:“touch”等效?

在Ruby中创build一个文件的最好方法是什么?

类似于Unix命令的东西,请触摸 :

touch file.txt 

FileUtils.touch看起来像它所做的,并镜像touch命令:

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

*与touch(1)不同,您不能单独更新mtime或atime。 这也是缺less其他一些不错的select。

如果你担心文件句柄:

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

从文档 :

如果给出了可选的代码块,它将作为parameter passing打开的文件,当块终止时,File对象将自动closures。

在Ruby 1.9.3+中,您可以使用File.write (又名IO.write ):

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

对于较早的版本, require "backports/1.9.3/file/write"或使用File.open("foo.txt", "w") {}

而且也不太有利,但非常简短:

 `touch file.txt` 

只是一个例子:

 File.open "foo.txt", "w"