English · PDF 311
这里的 ... 让我可以把任何不想处理的参数转发给 str_c()。这是一种非常方便的技术。但它也有代价:任何拼写错误的参数都不会引发错误。这使得拼写错误很容易被忽略:
x <- c(1, 2) sum(x, na.mr = TRUE) #> [1] 4
如果你只想捕获 ... 的值,可以使用 list(...)。
R 中的参数是惰性求值的:它们在被需要之前不会被计算。这意味着如果它们从未被使用,就永远不会被调用。这是 R 作为一门编程语言的一个重要特性,但在为数据分析编写自己的函数时通常并不重要。你可以在 < 阅读更多关于惰性求值的内容。http://adv-r.had.co.nz/Functions.html#lazy-evaluation>.
弄清楚你的函数应该返回什么通常很简单:这毕竟是你创建函数的初衷!在返回值时,你应该考虑两件事: