9.73 SparseTableΒΆ

The SparseTable domain provides a general purpose table type with default entries.

Here we create a table to save strings under integer keys. The value “Try again!” is returned if no other value has been stored for a key.

t: SparseTable(Integer, String, "Try again!") := table()
\[\]
table()

Type: SparseTable(Integer,String,Try again!)

Entries can be stored in the table.

t.3 := "Number three"
\[\]
“Numberthree”

Type: String

t.4 := "Number four"
\[\]
“Numberfour”

Type: String

These values can be retrieved as usual, but if a look up fails the default entry will be returned.

t.3
\[\]
“Numberthree”

Type: String

t.2
\[\]
“Tryagain!”

Type: String

To see which values are explicitly stored, the keyskeysSparseTable and entriesentriesSparseTable functions can be used.

keys t
\[\]
[4,3]

Type: List Integer

entries t
\[\]
[“Numberfour”,”Numberthree”]

Type: List String

If a specific table representation is required, the GeneralSparseTable constructor should be used. The domain SparseTable(K, E, dflt) is equivalent to GeneralSparseTable(K,E,Table(K,E), dflt). For more information, see TableXmpPage and GeneralSparseTableXmpPage .