我希望能够确定函数的参数是否是对函数的调用。假设我有两个函数,f()
和 g()
:
f <- function() "foo"
g <- function(x){
???
}
我希望调用的输出如下:
g(f())
#> [1] TRUE
g("bar")
#> [1] FALSE
我可以通过引用函数参数来使其工作:
f <- function() "foo"
g <- function(x) is.call(x)
g(quote(f()))
#> [1] TRUE
g(quote("bar"))
#> [1] FALSE
但是,这不是最佳选择,因为我不希望该功能的用户必须这样做。有什么建议吗?
最佳答案
您可以使用substitute()
:
h <- function(x) is.call(substitute(x))
h(f())
# [1] TRUE
关于r - 确定函数参数是否是函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52937887/