initialization/1¶
Description¶
initialization(Goal)
When used within an object, this directive defines a goal to be called after the object has been loaded into memory. When used at a global level within a source file, this directive defines a goal to be called after the compiled source file is loaded into memory.
Multiple initialization directives can be used in a source file or in an object. Their goals will be called in the same order as the directives at loading time.
Note
Categories and protocols cannot contain initialization/1
directives
as the initialization goals would lack a complete execution context that
is only available for objects.
Although technically a global initialization/1
directive in a source
file is a Prolog directive, calls to Logtalk built-in predicates from it
are usually compiled to improve performance and providing better support
for embedded applications.
Warning
Some backend Prolog compilers declare initialization
as an operator
for a lighter syntax. But this makes the code non-portable and is
a practice best avoided.
Template and modes¶
initialization(@callable)
Examples¶
% call the init/0 predicate after loading the
% source file containing the directive:
:- initialization(init).