我是 Prolog 的新手,我很难使用动态谓词。
首先,这是我正在执行的代码
:- dynamic(list/1).
add(X, LL) :- asserta(list([])), asserta(list(X)), retract(list(LL)).
我知道代码看起来很奇怪,但我只是在寻找正确的语法来使用。
现在,如果我这样做:
添加(2,LL)。
答案将是:
LL = 2 ;
LL = []。
但我想要做的是将 X (2) 添加到数组 ([]) 中。所以..
LL = [2]。
它看起来很简单(可能是这样),但我无法让它工作。
非常感谢。