2
関数が複数の名前(それぞれ異なるバインディング環境にある)にバインドされているとします。これらの名前(もしあれば)のどれがそれを呼び出すのに使われたのかを知る方法はありますか?(名前付き)関数は、呼び出された名前を調べることができますか?
簡単な例:機能上の最初の呼び出しで
original.name <- function() cat("don't know my name (yet)...\n")
call.thunk <- function (thunk) thunk()
foo <- original.name
foo()
## don't know my name (yet)...
call.thunk(original.name)
## don't know my name (yet)...
は名前foo
と呼ばれます。 2つ目はthunk
という名前で呼び出されます。この情報を確認できるように関数の本体を変更できますか?
(。この質問は、Rでのイントロスペクションについての詳細を学びたいが動機とされ、私は、任意の特定の問題を解決しようとしていないよ)
として働くだろう。 –