我想通過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