在R 2.13中,file.copy引入了一个新的copy.mode参数,该参数影响副本输出的权限。结果,一个与R 2.n一起工作的程序,其中n 如果dl.txt具有444个权限,并且用户的umask是002, 用于创建具有664权限的k.txt。现在它有444.这个行为可以通过将copy.mode = FALSE添加到每个程序中的每个复制语句来覆盖,以防万一它可能很重要。但是如果你这样做,并且正在使用旧版本的R,那么就会出现致命的运行时错误。 是否有某种方法可以全局更改较新版本的R中的默认行为?还是其他一些保持向后兼容性的方法?file.copy("dl.txt", "k.txt")
答案 0 :(得分:0)
在某些全球范围内覆盖它,例如.Rprofile
:
if( getRversion() > 2.13 ) {
file.copy <- function(...) { base::file.copy(..., copy.mode=FALSE) }
}