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(), ...)
list
structure of options. as.character |
|
Returns a character string version of this object. | |
as.list |
Gets a list representation of the options. |
equals |
|
Checks if this object is equal to another Options object. | |
getLeaves |
Gets all (non-list) options in a flat list. |
getOption |
|
Gets an option. | |
hasOption |
Checks if an option exists. |
names |
|
Gets the full pathname of all (non-list) options. | |
nbrOfOptions |
Gets the number of options set. |
setOption |
|
Sets an option. | |
str |
Prints the structure of the options. |
local <- Options()
# Query a missing option
cex <- getOption(local, "graphics/cex")
cat("graphics/cex =", cex, "\n") # Returns NULL
# Query a missing option with default value
cex <- getOption(local, "graphics/cex", defaultValue=1)
cat("graphics/cex =", cex, "\n") # Returns NULL
# Set option and get previous value
oldCex <- setOption(local, "graphics/cex", 2)
cat("previous graphics/cex =", oldCex, "\n") # Returns NULL
# Set option again and get previous value
oldCex <- setOption(local, "graphics/cex", 3)
cat("previous graphics/cex =", oldCex, "\n") # Returns 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
# Query multiple options with multiple default values
multi <- getOption(local, c("graphics/cex", "graphics/pch"), c(1,2))
print(multi);
# Check existance of multiple options
has <- hasOption(local, c("graphics/cex", "graphics/pch"))
print(has);
# Get a subtree of options
graphics <- getOption(local, "graphics")
print(graphics)
# Get the complete tree of options
all <- getOption(local)
print(all)
Run the code above in your browser using DataLab