Project Organization
Config Defaults
Named Settings
Project settings are easier to audit when defaults and overrides are explicit named values.
Program
Play the script to pick a runtime profile and see the final settings summary.
config_defaults.R
profile_index <-
profiles <- c("dev", "test", "prod")
sample_sizes <- c(dev = 10, test = 100, prod = 1000)
profile <- profiles[profile_index]
sample_size <- sample_sizes[[profile]]
label <- paste(profile, sample_size, sep = ":")
cat(label, "\n", sep = "")
profile_index <-
profiles <- c("dev", "test", "prod")
sample_sizes <- c(dev = 10, test = 100, prod = 1000)
profile <- profiles[profile_index]
sample_size <- sample_sizes[[profile]]
label <- paste(profile, sample_size, sep = ":")
cat(label, "\n", sep = "")
profile_index <-
profiles <- c("dev", "test", "prod")
sample_sizes <- c(dev = 10, test = 100, prod = 1000)
profile <- profiles[profile_index]
sample_size <- sample_sizes[[profile]]
label <- paste(profile, sample_size, sep = ":")
cat(label, "\n", sep = "")
profile
A profile selects one named set of settings.
named vector
`sample_sizes[[profile]]` reads a setting by name.
configuration
Keeping settings in data makes overrides explicit.