affy (version 1.50.0)

ProgressBarText-class: Class "ProgressBarText"

Description

A class to handle progress bars in text mode.

Arguments

Objects from the Class

Objects can be created by calls of the form new("ProgressBarText", steps).

Slots

steps:
Object of class "integer". The total number of steps the progress bar should represent.
barsteps:
Object of class "integer". The size of the progress bar.
internals:
Object of class "environment". For internal use.

Methods

close
signature(con = "ProgressBarText"): Terminate the progress bar (i.e. print what needs to be printed). Note that closing the instance will ensure the progress bar is plotted to its end.
initialize
signature(.Object = "ProgressBarText"): initialize a instance.
open
signature(con = "ProgressBarText"): Open a progress bar (i.e. print things). In the case open is called on a progress bar that was 'progress', the progress bar is resumed (this might be useful when one wishes to insert text output while there is a progress bar running).
updateMe
signature(object = "ProgressBarText"): Update the progress bar (see examples).

Examples

Run this code
f <- function(x, header = TRUE) {
  pbt <- new("ProgressBarText", length(x), barsteps = as.integer(20))

  open(pbt, header = header)

  for (i in x) {
    Sys.sleep(i)
    updateMe(pbt)
  }
  close(pbt)
}

## if too fast on your machine, change the number
x <- runif(15)

f(x)
f(x, header = FALSE)

## 'cost' of the progress bar:
g <- function(x) {
  z <- 1
  for (i in 1:x) {
    z <- z + 1
  }
}
h <- function(x) {
  pbt <- new("ProgressBarText", as.integer(x), barsteps = as.integer(20))
  open(pbt)
  for (i in 1:x) {
    updateMe(pbt)
  }
  close(pbt)
}

system.time(g(10000))
system.time(h(10000))

Run the code above in your browser using DataCamp Workspace