1

FileUtils类(Ruby StdLib)上,在诸如 等类方法中FileUtils.cpFileUtils.cp_r FileUtils.mv当目标文件存在时,没有提供文件的可选重命名。我想利用该FileUtils.cp_r方法并进行一些更改FileUtils以支持此行为。

这是一个好方法,还是我应该实现自己的FileUtils.cp_r

更新:我检查了 Rubinius 的源代码FileUtils.cp_r,发现它调用了FileUtils.copy_entry. 我发现重新定义库方法可能容易出错。所以我选择实现自定义递归复制方法(这将重命名现有文件)。

4

1 回答 1

1

在 irb 试试这个

f = File.open('test.rb', 'w+')
  => #<File:test.rb>
irb(main):002:0> File.rename(f, "temp.rb")
  => 0
于 2013-06-03T09:48:18.170 回答