Logtalk reference manual
Built-in method: asserta/1
asserta/1
Description
asserta(Head)
asserta((Head:-Body))
Asserts a clause as the first one for an object's dynamic predicate. If the predicate is not already declared, then a dynamic predicate declaration is added to the object.
Template and modes
asserta(+clause)
Errors
- Head is a variable:
instantiation_error
- Head is a neither a variable nor a callable term:
type_error(callable, Head)
- Body cannot be converted to a goal:
type_error(callable, Body)
- The predicate indicator of Head is that of a private predicate:
permission_error(modify, private_predicate, Head)
- The predicate indicator of Head is that of a protected predicate:
permission_error(modify, protected_predicate, Head)
- The predicate indicator of Head is that of a static predicate:
permission_error(modify, static_predicate, Head)
Examples
- To assert a clause as the first one for any dynamic predicate in this:
asserta(Clause)
- To assert a clause as the first one for any public or protected dynamic predicate in self:
::asserta(Clause)
- To assert a clause as the first one for any public dynamic predicate in an object:
Object::asserta(Clause)