Configuration Records
Config Defaults
Override When Present
A configuration value often starts with a default and is replaced only when an override is present.
Program
Play the program to change the override timeout and see the selected timeout.
config_defaults.f90
program config_defaults_demo
implicit none
integer :: default_timeout
integer :: override_timeout
integer :: timeout
default_timeout = 20
override_timeout =
timeout = default_timeout
if (override_timeout > 0) timeout = override_timeout
print '(I0, 1X, I0)', override_timeout, timeout
end program config_defaults_demo
program config_defaults_demo
implicit none
integer :: default_timeout
integer :: override_timeout
integer :: timeout
default_timeout = 20
override_timeout =
timeout = default_timeout
if (override_timeout > 0) timeout = override_timeout
print '(I0, 1X, I0)', override_timeout, timeout
end program config_defaults_demo
program config_defaults_demo
implicit none
integer :: default_timeout
integer :: override_timeout
integer :: timeout
default_timeout = 20
override_timeout =
timeout = default_timeout
if (override_timeout > 0) timeout = override_timeout
print '(I0, 1X, I0)', override_timeout, timeout
end program config_defaults_demo
default value
`default_timeout` is the fallback when no override is active.
override
A positive override replaces the default value.
selected config
`timeout` is the final value used by later code.