【发布时间】:2010-11-13 06:17:11
【问题描述】:
我经常编写需要查看环境中其他对象的函数。例如:
> 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)的情况下调用该函数。如果我不利用这一点,我会觉得我在不必要地传递对象。
明确说明函数需要什么会更好吗?还是应该通过内联 cmets 或函数的其他文档来解决这个问题?有没有更好的办法?
【问题讨论】: