Logtalk reference manual
Built-in method: clause/2

clause/2

Description

clause(Head, Body)

Enumerates, by backtracking, the clauses of an object's dynamic predicates.

Template and modes

clause(+callable, ?body)

Errors

Head is a variable:
instantiation_error
Head is a neither a variable nor a callable term:
type_error(callable, Head)
Body is a neither a variable nor a callable term:
type_error(callable, Body)
The predicate indicator of Head is that of a private predicate:
permission_error(access, private_predicate, Head)
The predicate indicator of Head is that of a protected predicate:
permission_error(access, protected_predicate, Head)
The predicate indicator of Head is that of a static predicate:
permission_error(access, static_predicate, Head)
Head is not a declared predicate:
existence_error(predicate_declaration, Head)

Examples

To retrieve a matching clause of any dynamic predicate in this:
clause(Head, Body)
To retrieve a matching clause of a public or protected dynamic predicate in self:
::clause(Head, Body)
To retrieve a matching clause of a public dynamic predicate in an object:
Object::clause(Head, Body)