【发布时间】:2016-11-13 07:40:43
【问题描述】:
delete(X,[X|R],[_|R]).
delete(X,[F|R],[F|S]) :-
delete(X,R,S).
以上是我对删除谓词的定义,对于delete(X,L,R),意在删除L中所有出现的X,结果为R。
我在下面查询,得到“G2397797”。这个字符串代表什么?
?- delete(1,[1,2,3,4,5],X).
X = [_G2397797, 2, 3, 4, 5] .
【问题讨论】:
-
delete(X, [X|R], [_|R]).不只是删除X,而是用匿名变量 (_) 替换它。那是你真正想要的吗?
标签: prolog