【发布时间】:2017-05-17 13:21:40
【问题描述】:
假设一个函数已绑定到多个名称(每个名称都在不同的绑定环境中)。有没有办法找出这些名称中的哪一个(如果有)被用来调用它?
一个简单的例子:
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 中的内省;我并不是要解决任何具体问题。)
【问题讨论】:
-
添加一些示例代码来设置您描述的环境将使人们更容易理解您想要什么,并提供解决方案。
标签: r introspection