我是新手,也是我正在研究的 Prolog 的新手,特别是 SWI-Prolog。我正在尝试按照标题所述进行操作,并已使用 SWI 库中包含的一些方法使其在基于 1 的列表(从 1 而不是零开始)上工作。这是我的代码:
indexof(I,E,L):-
nth1(I,L,E).
indexof(-1,_,_).
我的任务(是的,它是 hw - _ -)是这样做的,但作为一个基于 0 的计数,我尝试在最后一行添加 I is I - 1 但我一直收到错误。有没有其他方法可以将其变为基于 0 的计数?
所以对于这个 indexof(A,a,[w,x,y,z,a])。我应该得到 4,但我得到 5。