Enhances the 'ini' package by adding the ability to interpolate variables. The INI configuration file is read into an R6 ConfigParser object (loosely inspired by Pythons ConfigParser module) and the keys can be read, where '%(....)s' instances are interpolated by other included options or outside variables.
We can generate a new ConfigParser object and pre-seed a few variable values. Then we set several options in a new section 'Section 1'.
config <- ConfigParser$new(init=c("bar"="Life", "baz"="too short"))config$set(option=c("a_bool", "a_float", "foo"), value=c("true", "3.1415", "%(bar)s is %(baz)s"), section="Section 1", error_on_new_section=FALSE)
Of these we can then read out specific values in the form of a string or also directly ask for a float or a boolean.
config$get("foo", NA, "Section 1")config$getboolean("a_bool", NA, "Section 1")config$getfloat("a_float", NA, "Section 1")
It is also easy to pre-seed a config file with e.g. all environment variables, this time setting the optionxform to identity to prevent the default lower-casing of all options and then read an INI file from disk.
config <- ConfigParser$new(Sys.getenv(), optionxform=identity)config$read(system.file("test.INI", package="ConfigParser"))
The manual shows a few other functions, but these basics here should get everyone started.
Initial release of the package
Adds ability to interpolate variabels to the 'ini' package
Inspired by the ConfigParser module in Python