4

多くの (解釈された) プログラミング言語では、ファイルを読み込むときに変数が設定されるため、一部のコードはファイルが読み込まれた場所からファイル名を特定できます。たとえば、Ruby では、__FILE__ファイルをロードするときに変数が設定されます。

Rにそのような機能はありますか?Rコードがロードされた場所を特定する方法はありますか?

例:

main.R:

source("foo.R")

/ホーム/バー/foo.R:

print(FULL_FILENAME)

印刷するには、FULL_FILENAME を何に置き換える必要がありますか。

[1] "/home/bar/foo.R"

ソースにファイル名をハードコーディングせずに?

4

2 に答える 2

1

これをファイルの上に置くことで、しばらく前にGabor によって提供されたハックを使用できます。

this.file <- parent.frame(2)$ofile

ディレクトリの名前を抽出したい場合は、次のようにします。

this.dir <- dirname(this.file)

私の理解では、ファイルを調達すると 2 つの親環境が作成されます。外側のもの (2 ステップ上) には、コードのソース元のファイルに関する情報が含まれています。

于 2012-11-30T12:26:33.207 に答える