3
我是新來的s.o和Prolog,這是我正在從事的工作,特別是SWI-Prolog。 我試圖按照標題說的去做,並且已經使用SWI庫中包含的一些方法使它在基於1的列表上工作(從1開始而不是零)。 ,這是我的代碼:元素索引
indexof(I,E,L):-
nth1(I,L,E).
indexof(-1,_,_).
我的任務(是的,它是硬件 - _ - )是這樣做,但爲0以計數爲基礎 我試圖在最後一行添加我就是我 - 1但我不斷收到錯誤。有沒有其他方法可以將它計入基於0的計數?
對於(A,a,[w,x,y,z,a])這個索引。我應該得到4,但我得到5
嘿謝謝!有這個中間變量更有意義。我在其他方法中使用了這種技術,只是沒有想到它在這裏:p所以是的,這就是我一直在尋找的東西,除了我擁有它的方式,而不是當案例是假的時候,我擁有它,所以它返回-1儘管我更喜歡你的方式,但我應該怎麼做。有沒有辦法我可以換出一個-1的假? ((再次對不起,我可能聽起來很愚蠢,但我只是在上週末纔開始學習序言)) – erp
'(nth1(I1,L,E) - > I is I1 - 1; I = -1)'will return - 1如果找不到元素。 ' - >;'組合在其他語言中有點像if-then-else。 – mndrix