有没有办法在Prolog中定义/声明常量/别名。
我有一个经常使用的原子。如果我决定将其更改为在一个地方进行,我想要一次又一次地声明它。
def BLAH = blah
.....
clause(BLAH(abc,de), true)
... and so on ...
答案 0 :(得分:0)
常量的Prolog等价物由具有单一事实的一元谓词定义。例如:
my_atom(blah).
然后可以在任意数量的地方使用它:
important_body(Body) :-
my_atom(Atom),
Head =.. [Atom,abc,de],
clause(Head, Body).
write_my_atom :-
my_atom(Atom),
write(Atom).
然后,改变"常数"的值。在上述谓词中绑定到Atom
,您只需要更改my_atom/1
事实。