LocalSymbol

LocalSymbol["name"]

represents a symbol whose value is persistently stored in the local file system.

LocalSymbol[obj]

represents a persistent symbol corresponding to the local object obj.

Details

  • Values can be assigned using LocalSymbol[name]=val or LocalSymbol[name]:=val.
  • LocalSymbol[name] evaluates to give the value assigned for LocalSymbol[name].
  • Values of local symbols are stored in local objects.
  • LocalSymbol["name"] by default references a local object with the specified name within the directory $LocalSymbolBase.
  • LocalSymbol["name",base] references a local object relative to the specified base.
  • Local symbols can be shared between users if appropriate permissions are set on the underlying file system objects.
  • In LocalSymbol["name"], "name" can be any string.
  • LocalSymbol[File["path"]] and LocalSymbol[relpath,File["path"]] are also supported.
  • Local symbols can be removed with Remove.

Examples

open allclose all

Basic Examples  (1)

Assign a value to a local symbol:

Retrieve the value:

Scope  (4)

Local symbols can be assigned delayed values:

Local symbols that have not been assigned remain unevaluated:

LocalObjects can be used to list all existing local symbols:

Local symbols can be removed with Remove:

Generalizations & Extensions  (3)

Local symbols can be saved to any file:

The directory where a symbol should be saved can be given as the second argument:

Paths can also be specified with File:

Applications  (1)

Local symbols can be used to remember values across a kernel restart:

Properties & Relations  (3)

Local symbols are stored in local objects, so they can be accessed using LocalObject:

By default, local symbols are saved to a subdirectory of $LocalBase:

CloudSymbol provides for symbols in cloud storage:

Possible Issues  (1)

Local symbols cannot be assigned subvalues or other special values:

Values of local symbols are not stored like other symbols:

Introduced in 2015
 (10.2)
 |
Updated in 2016
 (10.4)