R提供了两种从文件系统中删除文件(和文件夹)的功能:

  • unlink
  • file.remove

  • 除了unlink需要一些额外的参数外,区别到底是什么,或者什么时候使用它并不完全清楚。

    读取这些函数的源代码并没有多大帮助,因为两者都只是调用了已编译的C函数。

    有什么区别?什么时候应该优先使用unlink而不是file.remove,反之亦然?

    最佳答案

    我的猜测很简单,因为S中存在unlink,因为它引用了Becker,Chambers和Wilks(1988),而file.remove(以及file.copy,file.create等)自R以来就一直是R的一部分,以提供一整套用于一般文件操作的功能。
    unlink对应于一个非常古老的Unix函数(并且在1988年的S版本出现时确实存在):http://en.wikipedia.org/wiki/Unlink_(Unix)

    因此,unlink可以与S兼容,file.remove可以作为R的一部分而被维护,以便支持S和R中已存在的较长代码。除此之外,只需选择最适合您的需求(或习惯)的代码即可。 。

    09-03 18:42