これで問題が発生しました。入力した場合のようにターゲット位置のリストを作成したい
?- 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.
誰かが私がこれを修正するのを手伝ってくれるなら、それはとてもありがたいです...ありがとう。