我经常编写需要查看环境中其他对象的函数。例如:
> a <- 3
> b <- 3
> x <- 1:5
> fn1 <- function(x,a,b) a+b+x
> fn2 <- function(x) a+b+x
> fn1(x,a,b)
[1] 7 8 9 10 11
> fn2(x)
[1] 7 8 9 10 11
正如所料,这两个函数是相同的,因为fn2
在执行时可以“看到” a 和 b。但是每当我开始利用这一点时,在大约 30 分钟内,我最终会在没有必要变量之一(例如 a 或 b)的情况下调用该函数。如果我不利用这一点,那么我觉得我在不必要地传递物体。
明确说明函数需要什么会更好吗?还是应该通过内联注释或函数的其他文档来解决这个问题?有没有更好的办法?