30 lines
528 B
Plaintext
30 lines
528 B
Plaintext
|
|
||
|
:- object(root,
|
||
|
instantiates(root)).
|
||
|
|
||
|
|
||
|
:- private(cv_/1).
|
||
|
:- dynamic(cv_/1).
|
||
|
:- mode(cv_(?integer), zero_or_one).
|
||
|
|
||
|
:- public(cv/1).
|
||
|
:- mode(cv(?integer), zero_or_one).
|
||
|
|
||
|
:- public(set_cv/1).
|
||
|
:- mode(set_cv(+integer), one).
|
||
|
|
||
|
|
||
|
cv_(0). % cv value is stored locally, in this class
|
||
|
|
||
|
|
||
|
cv(Value) :-
|
||
|
cv_(Value). % retrive cv value, shared for all instances
|
||
|
|
||
|
|
||
|
set_cv(Value) :-
|
||
|
retractall(cv_(_)), % retract old cv value from this class
|
||
|
asserta(cv_(Value)). % assert the new value in this class
|
||
|
|
||
|
|
||
|
:- end_object.
|