我想通过try和catch功能“重载”一个函数。使用点功能方法
这是一个“低层次的例子”,但如果我解决这个问题,我有一个解决方案。
write.csv2 <- function(...) {
utils::write.csv2(x = ..1,paste0("GET.THE.NAME.OF.THE.X_arg",".csv"))
}
write.csv2(x=mtcars)
被称为“mtcars.csv”
如果我打电话write.csv上述函数调用应该在CSV文件最终的结果(X = DATAdata)应该有一个CSV所谓DATAdata.csv
我想:
deparse(替代())和其他的东西。没有什么工作到很远。
编辑:
为什么它不起作用?
write.csv2 <- function(...) {
utils::write.csv2(x = ..1,file = paste0(deparse(substitute(..1)),".csv"))
}
write.csv2(x=mtcars)
你为什么试图只使用一个网点列表?如果直接使用命名参数,执行deparse/repla魔术会容易得多。 – Dason