2
假設一個函數已被綁定到多個名稱(每個名稱都在不同的綁定環境中)。有沒有辦法讓它找出哪些名稱(如果有)用於調用它?一個(named)函數能反思它被調用的名字嗎?
一個小示例:
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
;在第二個中,它被稱爲thunk
。函數的主體是否可以修改,以便能夠確定這些信息?
(這個問題是由那些想了解更多關於內省R中的動機,我並不想解決什麼特定的問題。)
添加一些示例代碼,設置你的描述會更容易爲人們所理解你想要什麼的環境,並提供解決方案。 –