在R中是否有一个无操作的函数,使得即使参数的计算成本很高,它也会立即返回?我正在寻找stopifnot函数的条件替换。
> noop(runif(1e20))
# returns immediately and uses no memory发布于 2012-06-07 22:20:15
我认为这样做是可行的:
noop <- function(...) invisible(NULL)因为懒惰的评估在这里得到了拯救:
R> system.time(replicate(1e4, noop(runif(1e2))))
user system elapsed
0.01 0.00 0.01
R> system.time(replicate(1e4, noop(runif(1e5))))
user system elapsed
0.01 0.00 0.02
R> system.time(replicate(1e4, noop(runif(1e8))))
user system elapsed
0.01 0.00 0.01
R> system.time(replicate(1e4, noop(runif(1e11))))
user system elapsed
0.01 0.00 0.01
R> 因此,即使我们增加了N,也看不到运行时的增加。
https://stackoverflow.com/questions/10933671
复制相似问题