2012-03-27 27 views
25

Rファイルシステムからファイル(フォルダ)を削除するための2つの機能を提供します。Rでは、unlinkとfile.removeの違いは何ですか?

  • unlink
  • file.remove

これを使用するとき、それは確かに違いが何であるかを完全に明らかではない、またはそれ以外の場合は、unlinkにいくつかの引数が追加されます。

これらの関数のソースコードを読むことは、コンパイルされたC関数を呼び出すだけなので、あまり役に立ちません。

違いは何ですか?いつunlinkfile.removeよりも優先して使用する必要がありますか?

+0

ここで実装を見つけることができます:http://svn.r-project.org/R/trunk/src/main/platform.c – kohske

+9

'unlink'はディレクトリを削除しますが、' file.remove'は削除のみを行います空でないものWindows – James

+6

FYI:Rニュースでは、バージョン2.15.0の変更点: "ディレクトリへのシンボリックリンクに対するリンク解除(再帰= TRUE)の動作が変更されました。ディレクトリではなくリンクを削除するようになりました内容(rm -rと同様)。 – GSee

答えて

19

私の推測ではunlinkはそれがfile.remove(などとfile.copy、file.create、)一方、ベッカー、チェンバースとウィルクス(1988)を参照するので、Sに存在していた初期の段階であるためRの一部となっているということだけです一般的なファイル操作のための一連の関数を提供します。

unlink

は非常に古いUNIXの機能に対応(とSの1988年版が登場したときに確かに存在していた): http://en.wikipedia.org/wiki/Unlink_(Unix

ので、unlinkはSとの互換性のためにあり、file.removeはRの一部として存在しているとどちらも、SとRから長い既存のコードをサポートするために維持されています。それ以外は、ニーズ(または習慣)に最も適したコードを選択するだけです。

関連する問題