如何编写自定义for()函数

时间:2017-07-18 18:58:00

标签: r

有没有办法编写一个自定义for()函数,其行为与for()完全相同,但会做一些额外的事情?

我想要做的是修改for()功能,启动进度条。

作为一个例子,当我想通过循环显示进度时,我现在使用progress::progress_bar()如下:

pb <- progress_bar$new(total = 100)
for (i in 1:100) {
  pb$tick()
  Sys.sleep(1 / 100)
}

我想要的是能够拥有这样的功能:

for_pb <- function(var in seq, ...) {
  pb <- progress::progress_bar$new(total=length(seq))
  for(var in seq) {
    pb$tick()
    ... #The rest of the code in the for loop
  }
}

结果,以下调用将产生与初始示例相同的输出:

for_pb(i in 1:100) {
  Sys.sleep(1 / 100)
}

0 个答案:

没有答案