ProgressBarText-class {affy} | R Documentation

## Class "ProgressBarText"

### Description

A class to handle progress bars in text mode

### 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).
update
  `signature(object = "ProgressBarText")`: Update the progress bar (see examples).

### Author(s)

Laurent

### Examples

    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)
        update(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) {
        update(pbt)
      }
      close(pbt)
    }

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

[Package Contents]