Skip to contents

This is a concrete implementation of the abstract class Bar using the utils::txtProgressBar() as engine for the progress bar.

See also

Super class

parabar::Bar -> BasicBar

Methods


Method new()

Create a new BasicBar object.

Usage

BasicBar$new()

Returns

An object of class BasicBar.


Method create()

Create a progress bar.

Usage

BasicBar$create(total, initial, ...)

Arguments

total

The total number of times the progress bar should tick.

initial

The starting point of the progress bar.

...

Additional arguments for the bar creation passed to utils::txtProgressBar().

Returns

This method returns void. The resulting bar is stored in the private field .bar, accessible via the active binding engine. Both the private field and the active binding are defined in the super class Bar.


Method update()

Update the progress bar by calling utils::setTxtProgressBar().

Usage

BasicBar$update(current)

Arguments

current

The position the progress bar should be at (e.g., 30 out of 100), usually the index in a loop.


Method terminate()

Terminate the progress bar by calling base::close() on the private field .bar.

Usage

BasicBar$terminate()


Method clone()

The objects of this class are cloneable with this method.

Usage

BasicBar$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# Create a basic bar instance.
bar <- BasicBar$new()

# Specify the number of ticks to be performed.
total <- 100

# Create the progress bar.
bar$create(total = total, initial = 0)

# Use the progress bar.
for (i in 1:total) {
    # Sleep a bit.
    Sys.sleep(0.02)

    # Update the progress bar.
    bar$update(i)
}
#> ================================================================================

# Terminate the progress bar.
bar$terminate()
#>