Prolog:C风格的常量OR别名?

时间:2018-02-05 23:08:35

标签: prolog constants alias

有没有办法在Prolog中定义/声明常量/别名。

我有一个经常使用的原子。如果我决定将其更改为在一个地方进行,我想要一次又一次地声明它。

def BLAH = blah
.....
clause(BLAH(abc,de), true) 
... and so on ...

1 个答案:

答案 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事实。