[ Recorded Database | Reference Manual | Alphabetic Index ]
record(+Key, ?Value)
Records the term Value after all other entries for key Key in the record database.
- Key
- An atom, compound term, or handle.
- Value
- An arbitrary term.
Description
Used to record an arbitrary term Value at the end of the record database
entries associated with the key Key. A synonym for recordz/2. In the
case of compound terms, all keys of the same name and arity are treated
as equal.
If backtracking occurs through the call of record/2 the associated Value
is not removed from the record database. Recording the same Value
twice results in two identical entries in the record database. All
variables are recorded according to their internal representations.
Modes and Determinism
Modules
This predicate is sensitive to its module context (tool predicate, see @/2).
Exceptions
- (4) instantiation fault
- Key is not instantiated.
- (5) type error
- Key is neither an atom nor a compound term.
Examples
Success:
record(a(compound,term),value1).
record([a,different,term],value2).
[eclipse]: record(whiskey,jameson),
> record(whiskey,glenlivet),
> record(whiskey,bushmills).
yes.
[eclipse]: recorded(whiskey,Value).
Value = jameson More (;)
Value = glenlivet More (;)
Value = bushmills More (;)
no (more) solution.
Error:
record(Key, anything). (Error 4)
record("key",anything). (Error 5)
See Also
recorda / 2, recordz / 2, record_wait_append / 4