我遇到了这个问题我想列出目标位置,就像我输入
?- extractIndices([5,6,7,8,9,5,6],6,List).
它应该返回
List = [1,6]
这给出了该列表中 6 的所有位置。我写了这样的代码:
extractIndices(List , Item, [Index | Indecis]) :-
indexOf(List , Item, Index).
indexOf([Item | _], Item, 0).
indexOf([_ |Tail], Item, Index):-
indexOf(Tail, Item, Index1),
Index is Index1+1.
这给了我
?- extractIndices([5,6,7,8,9,5,6],6,L).
L = [1|_G2870] ;
L = [6|_G2870] ;
false.
如果有人能帮我解决这个问题,将非常感激......谢谢。