Cache[AddPermanent] - add a permanent entry to the cache table
|
Calling Sequence
|
|
AddPermanent( cache, key, value )
|
|
Parameters
|
|
cache
|
-
|
cache table or procedure: the object in which to insert the entry
|
key
|
-
|
list: the key to add
|
value
|
-
|
anything: the value to associate with key
|
|
|
|
|
Description
|
|
•
|
The AddPermanent command creates a permanent entry associating key with value in a cache table. The cache table can be given directly as cache, or cache can refer to a procedure that has, or can have, a cache remember table. If such a procedure is given and it has a cache remember table, the permanent entry is inserted into that table. Otherwise, a new cache table is created, installed as the procedure's remember table and the permanent entry is inserted into that table.
|
•
|
To handle an expression sequence as a key, key must be given in a list. The actual key used for the entry is op(key).
|
•
|
If more than one argument is passed after key, then an expression sequence containing those arguments is used as value.
|
•
|
Assigning directly into a cache table, using the cache[key] := value notation, creates a temporary entry. Calling AddPermanent is the only way to create a permanent entry into a cache table.
|
•
|
Creating a permanent entry for a key that already has a temporary entry is not an error. In this case, the temporary entry is used.
|
|
|
Examples
|
|
>
|
|
| (1) |
>
|
|
| (2) |
>
|
|
>
|
|
>
|
|
| (3) |
>
|
p := proc(x,y) option cache; x+y; end proc;
|
| (4) |
>
|
|
| (5) |
>
|
|
>
|
|
>
|
|
| (6) |
>
|
|
| (7) |
>
|
|
>
|
|
| (8) |
>
|
|
| (9) |
|
|
Download Help Document
Was this information helpful?