有没有办法使用call
显示match.call()
对象(cat()
的结果)?
例如:
func <- function(...) {
return(match.call())
}
result <- func(x=3)
print(result)
# func(x = 3) - Exactly what I want.
cat(result)
# Erro em cat(list(...), file, sep, fill, labels, append) :
# argumento 1 (tipo 'language') não suportado por 'cat'
我想保存.txt文件中使用的命令,所以我不能使用print(至少,我想我不能)。我搜索了print.call()
函数,但我找不到它。
我也尝试了paste(result)
,但它只返回了函数的名称和参数的值(在示例中,只有func
和3
)
答案 0 :(得分:2)
您可以使用format
或deparse
将call
对象result
转换为character
字符串。然后,您可以使用cat
:
cat(format(result))
# func(x = 3)
cat(deparse(result))
# func(x = 3)