我正在研究我在网上找到的一个示例,试图了解 Prolog 返回的内容。对于这里的代码...
element_at(X,[X|_],1).
element_at(X,[_|L],K) :-
K > 1,
K1 is K - 1,
element_at(X,L,K1).
这有效...
?- element_at(x, [a,b,c,x,x,d,e], Pos).
但这不是......我希望这段代码返回一个有效值列表,例如......
?- element_at(x, [a,b,c,x,x,d,e], Pos).
Pos = 4;
Pos = 5;
但相反我得到ERROR: >/2: Arguments are not sufficiently instantiated
我要更改什么以使其返回有效值Pos
?