我是prolog的新手。我尝试了此代码,但出现错误,不知道为什么?!
de(F,L,R):-
R=[F|L].
是因为规则必须具有递归关系?错误是
ERROR: Syntax error: Operator expected
[In your comment,您指定做错了什么:]]
我将其测试为
de[a,[a,1,2,3],Z].
[当调用谓词时,使用括号(
(…)
),方括号([…]
)用于构造列表。因此,您应该用括号将谓词称为:
?- def(a,[a,1,2,3],Z).
Z = [a, a, 1, 2, 3].