语法错误:prolog代码中需要运算符

语法错误:prolog代码中需要运算符,prolog,Prolog,我不熟悉序言。。我试过这个代码,但出错了,不知道为什么 de(F,L,R):- R=[F|L]. 这是因为规则必须有递归吗? 错误是 ERROR: Syntax error: Operator expected ,您可以指定您做错了什么: 我将其测试为de[a[a,1,2,3],Z]。 调用谓词时,使用括号((…)),方括号([…])来构造列表。因此,应使用括号调用谓词: ?- def(a,[a,1,2,3],Z). Z = [a, a, 1, 2, 3]. ?-def(a[a,1,2,3]

我不熟悉序言。。我试过这个代码,但出错了,不知道为什么

de(F,L,R):-
R=[F|L].
这是因为规则必须有递归吗? 错误是

ERROR: Syntax error: Operator expected
,您可以指定您做错了什么:

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

调用谓词时,使用括号(
(…)
),方括号(
[…]
)来构造列表。因此,应使用括号调用谓词:

?- def(a,[a,1,2,3],Z).
Z = [a, a, 1, 2, 3].
?-def(a[a,1,2,3],Z)。
Z=[a,a,1,2,3]。
,您可以指定您做错了什么:

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

调用谓词时,使用括号(
(…)
),方括号(
[…]
)来构造列表。因此,应使用括号调用谓词:

?- def(a,[a,1,2,3],Z).
Z = [a, a, 1, 2, 3].
?-def(a[a,1,2,3],Z)。

Z=[a,a,1,2,3]。
No,规则不需要递归。如果我在本地测试这个,我不会得到任何错误。我测试它为de[a,[a,1,2,3],Z]。这确实是一个语法错误,调用谓词时需要使用括号,所以
de(a,[a,3,4,5,2],Z)
。哦,感谢我错过了它。真的吗,规则不需要递归。如果我在本地测试,我不会得到任何错误。我测试它为de[a[a,1,2,3],Z]。这确实是一个语法错误,调用谓词时需要使用括号,所以
de(a[a,3,4,5,2],Z)
。哦,谢谢,我真的错过了它