假设我在R:
中写了这样一个函数fun1 <- function(x,...,simplify=TRUE,sort=TRUE) {
# do something here ...
}
在函数中,...
应该是在特定环境中评估的许多表达式。但是,有时表达式本身可能是simplify=FALSE
或sort=FALSE
,而...
不是fun1
的参数。
我从一些软件包中了解到,作者避免使用...
的可能命名值与现有参数名称之间的潜在冲突。因此,他们以下列方式编写函数:
fun1 <- function(.data, ..., .simplify = TRUE, .sort = TRUE) {
# do something here ...
}
在假设典型数据输入不会经常在表达式中使用.data
,.simplify
和.sort
的情况下,它无法解决问题但避免了许多潜在的冲突。
解决此问题或解决此问题的最佳做法是什么?