InitializationValue
InitializationValue[sym]
represents the settable persistent value with which the symbol sym will be initialized.
InitializationValue["context`name"]
represents the settable initialization value for the symbol with the specified complete name.
InitializationValue[sym,{loc1,…}]
specifies the persistence locations to search for a possible initialization value.
Details and Options
- InitializationValue[sym] is equivalent to InitializationValue[sym,$PersistencePath].
- InitializationValue[sym]=value sets an initialization value for sym.
- InitializationValue[sym]=value is equivalent to InitializationValue[sym,$PersistenceBase]=value.
- The following options can be given:
-
EvaluationEnvironment $EvaluationEnvironment the environment in which the value should be used MergingFunction Automatic the function applied to the list of values found ValuePreprocessingFunction Identity the function applied to new values to be assigned ExpirationDate None when the value should expire PersistenceTime None how long the value should persist - In InitializationValue[sym,loc], possible forms for the persistence location loc include:
-
PersistenceLocation["type"] "Local", "Cloud", "FrontEndSession", etc. locations "type" equivalent to PersistenceLocation["type"] PersistenceLocation["type","base"] location with a particular base (directory etc.) "type""base" equivalent to PersistenceLocation["type","base"] - Supported location types include:
-
"KernelSession" current invocation of the Wolfram Language kernel "FrontEndSession" current invocation of the Wolfram Notebook front end "Local" local to a computer, based on user home directory "LocalShared" local to a computer, based on $BaseDirectory "Cloud" in the cloud defined by the current $CloudBase "Installation" installation defaults - InitializationValue[sym]=$NoValue specifies that the symbol sym should be unset on initialization.
- The value returned from InitializationValue[sym,{loc1,loc2,…}] is obtained by applying the given merging function to the list of values {InitializationValue[sym,loc1],InitializationValue[sym,loc2],…}. The default merging function is First.
- If no explicit setting for MergingFunction is given, the setting to use is looked up on $PersistencePath.
- Before a new value is assigned in InitializationValue[sym]=value, any specified value preprocessing function is applied to value before the value is assigned.
- If the preprocessing function returns $Failed, the assignment is not performed.
- If no explicit setting for ValuePreprocessingFunction is given, the setting to use is looked up on $PersistencePath.
- An expired initialization value is treated as nonexistent, and the underlying persistent object may be removed.
- Initialization values can be removed with Remove. Remove[InitializationValue[name]] is equivalent to Remove[InitializationValue[name,$PersistenceBase]].
Examples
open allclose allBasic Examples (2)
Scope (1)
Set an initialization value in the default persistence location:
Set an initialization value in the "KernelSession" persistence location:
The first value found in $PersistencePath is used:
Generalizations & Extensions (1)
Options (5)
MergingFunction (1)
Give a default value for a variable:
Set a custom merging function for initialization values of the variable:
Specify initialization values at different persistence locations:
The custom merging function is used to return the list of all values on $PersistencePath:
Use a different merging function for a particular value lookup:
ValuePreprocessingFunction (1)
Applications (2)
Override the default persistence base in all kernels started under the current front end session:
Set a value for $GeoLocation tied to your login account:
Properties & Relations (2)
Possible Issues (1)
Create two initialization values for a symbol in different locations:
Remove by default removes only the value in the location given by $PersistenceBase:
Remove all values that might exist anywhere in the locations given by $PersistencePath:
Text
Wolfram Research (2017), InitializationValue, Wolfram Language function, https://reference.wolfram.com/language/ref/InitializationValue.html (updated 2019).
CMS
Wolfram Language. 2017. "InitializationValue." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/InitializationValue.html.
APA
Wolfram Language. (2017). InitializationValue. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/InitializationValue.html