[ Recorded Database | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]
current_record(?Key)
Succeeds if Key is the key of a recorded item.
- Key
- Variable, atom or compound term.
Description
Used to backtrack over the keys currently recorded in the indexed
database. Key must be either a variable, an atom or a compound term.
In the case of compound terms, all keys of the same name and arity are
treated as equal.
Modes and Determinism
- current_record(+) is semidet
- current_record(-) is nondet
Modules
This predicate is sensitive to its module context (tool predicate, see @/2).
Fail Conditions
Fails if Key is not a current key
Exceptions
- (5) type error
- Key is neither a variable, an atom nor a compound term.
Examples
Success:
[eclipse]: record(whiskey,jameson),
> record(whiskey,bushmills),
> record(beer,lowenbrau),
> record(car(bmw), 735).
yes.
[eclipse]: current_record(Key).
Key = beer More? (;)
Key = whiskey More? (;)
Key = car(_g62) More? (;)
no (more) solution.
Fail:
record(whiskey,bushmills),current_record(bushmills).
Error:
current_record(1). (Error 5)
current_record("whiskey"). (Error 5)
See Also
is_record / 1