语法错误:序言代码中应为运算符

问题描述 投票:1回答:1

我是prolog的新手。我尝试了此代码,但出现错误,不知道为什么?!

de(F,L,R):-
R=[F|L].

是因为规则必须具有递归关系?错误是

ERROR: Syntax error: Operator expected
prolog swi-prolog
1个回答
1
投票

[In your comment,您指定做错了什么:]]

我将其测试为de[a,[a,1,2,3],Z].

[当调用谓词时,使用括号((…)),方括号([…])用于构造列表。因此,您应该用括号将谓词称为:

?- def(a,[a,1,2,3],Z).
Z = [a, a, 1, 2, 3].
© www.soinside.com 2019 - 2024. All rights reserved.