Package: R.utils
Class Options

Object
~~|
~~+--Options

Directly known subclasses:
Settings

public static class Options
extends Object

A class to set and get either options stored in a list tree structure.

Each option has a pathname. The format of a pathname is similar to a (Unix) filesystem pathname, e.g. "graphics/cex". See examples for more details.

Options(options=list(), ...)

Arguments

options

A tree list structure of options.

...

Not used.

Fields and Methods

Methods:

as.character-
as.list-
equals-
getLeaves-
getOption-
hasOption-
names-
nbrOfOptions-
setOption-
str-

Methods inherited from Object:
$, $<-, [[, [[<-, as.character, attach, attachLocally, clearCache, clearLookupCache, clone, detach, equals, extend, finalize, getEnvironment, getFieldModifier, getFieldModifiers, getFields, getInstantiationTime, getStaticInstance, hasField, hashCode, ll, load, names, objectSize, print, save

Value

The constructor returns an Options object.

Details

Note, this class and its methods do not operate on the global options structure defined in R (options).

Author

Henrik Bengtsson

Examples

local <- Options()

# Query a missing option
cex <- getOption(local, "graphics/cex")
cat("graphics/cex =", cex, "\n")  # Returns NULL
#> graphics/cex = 

# Query a missing option with default value
cex <- getOption(local, "graphics/cex", defaultValue=1)
cat("graphics/cex =", cex, "\n")  # Returns NULL
#> graphics/cex = 1 

# Set option and get previous value
oldCex <- setOption(local, "graphics/cex", 2)
cat("previous graphics/cex =", oldCex, "\n")  # Returns NULL
#> previous graphics/cex = 

# Set option again and get previous value
oldCex <- setOption(local, "graphics/cex", 3)
cat("previous graphics/cex =", oldCex, "\n")  # Returns 2
#> previous graphics/cex = 2 

# Query a missing option with default value, which is ignored
cex <- getOption(local, "graphics/cex", defaultValue=1)
cat("graphics/cex =", cex, "\n")  # Returns 3
#> graphics/cex = 3 

# Query multiple options with multiple default values
multi <- getOption(local, c("graphics/cex", "graphics/pch"), c(1,2))
print(multi)
#> $`graphics/cex`
#> [1] 3
#> 
#> $`graphics/pch`
#> [1] 2
#> 

# Check existance of multiple options
has <- hasOption(local, c("graphics/cex", "graphics/pch"))
print(has)
#> graphics/cex graphics/pch 
#>         TRUE        FALSE 

# Get a subtree of options
graphics <- getOption(local, "graphics")
print(graphics)
#> $cex
#> [1] 3
#> 

# Get the complete tree of options
all <- getOption(local)
print(all)
#> $graphics
#> $graphics$cex
#> [1] 3
#> 
#>