PersistentSymbol

PersistentSymbol["name"]

represents the persistent symbol associated with the key "name".

PersistentSymbol["name",loc]

represents the persistent symbol associated with name stored in persistence location loc.

PersistentSymbol["name",{loc1,}]

represents the persistent symbol associated with name at the first of the locations loci at which it occurs.

Details and Options

Examples

open allclose all

Basic Examples  (3)

Assign a persistent value:

Retrieve a previously saved value:

Remember a value with front end session scope:

Use the saved value, even in a newly restarted kernel within the same front end session:

Store values for the same name at different persistence locations:

Retrieve the first value found:

Retrieve the list of all values on $PersistencePath:

Scope  (8)

Persistence Locations  (3)

Persistent symbols created in the "KernelSession" location disappear when the kernel quits:

Persistent symbols created in the "FrontEndSession" location survive a kernel restart:

These symbols disappear when the front end is restarted:

Persistent symbols in the "Local" location are stored in a file in your account:

These symbols are stored under the $LocalBase directory and remain indefinitely:

Reassignment Functions  (5)

Modify values of persistent symbols:

Modify list values:

Modify parts of list values:

Modify association values:

Modify elements of association values:

Options  (8)

ExpirationDate  (2)

Define a persistent value that expires at the beginning of the year 2020:

Verify the expiration date of the underlying persistent object:

Define a persistent value that expires at the beginning of next year:

Verify the expiration date of the underlying persistent object:

MergingFunction  (3)

Create a complement of persistent values with key "lval" at various locations:

List all existing values for the key "lval" on $PersistencePath:

By default, only the first value is returned:

Join and flatten all sublists:

Join all sublists:

Create a complement of persistent associations with name "aval" at various locations:

List all existing values on $PersistencePath:

Merge the values of identical keys in the associations:

Define a default value for "mylist" with a custom merging function:

Define additional values at different persistence locations:

For looking up values, the custom merging function is now used:

PersistenceTime  (2)

Define a persistent value that expires in 5 seconds:

After 5 seconds, it is no longer used:

Define a persistent object that expires in 5 days:

Verify the expiration date of the underlying persistent object:

ValuePreprocessingFunction  (1)

Define a value preprocessing function that accepts only integers:

Set up a default value and the value preprocessing function for a persistent value named "int":

Assign an integer at any persistence location:

Assigning anything else generates an error, and the assignment is not performed:

Applications  (1)

List all existing persistent objects for the key "lval":

Delete them:

Properties & Relations  (5)

Persistent values are stored in persistent objects:

The default location of a new persistent object is given by $PersistenceBase:

Create a complement of persistent values with key "v" at various locations:

Persistent values are by default searched on all locations given in $PersistencePath:

The first value found is returned:

With MergingFunction->Identity, all values found are returned in a list:

Specify an explicit list of locations to search for values:

Expiration times specified with PersistenceTime are converted to absolute expiration dates:

Persistent values can be removed with Remove:

Possible Issues  (1)

Create two persistent values for "name" 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:

Wolfram Research (2021), PersistentSymbol, Wolfram Language function, https://reference.wolfram.com/language/ref/PersistentSymbol.html.

Text

Wolfram Research (2021), PersistentSymbol, Wolfram Language function, https://reference.wolfram.com/language/ref/PersistentSymbol.html.

CMS

Wolfram Language. 2021. "PersistentSymbol." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/PersistentSymbol.html.

APA

Wolfram Language. (2021). PersistentSymbol. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PersistentSymbol.html

BibTeX

@misc{reference.wolfram_2023_persistentsymbol, author="Wolfram Research", title="{PersistentSymbol}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/PersistentSymbol.html}", note=[Accessed: 28-March-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_persistentsymbol, organization={Wolfram Research}, title={PersistentSymbol}, year={2021}, url={https://reference.wolfram.com/language/ref/PersistentSymbol.html}, note=[Accessed: 28-March-2024 ]}