我不明白,为什么第二个不起作用。我认为在第一个示例中,不需要 II 变量,但看起来确实如此,但我不知道为什么?如果我调用findex([1,2,5,4], 5, I)
,则第一个示例返回正确的索引3
,第二个返回false
。有人可以帮我理解吗?
findex([X|_], X, 1).
findex([_|T], MAX, INDEX) :- findex(T, MAX, II), INDEX is II +1.
findex([X|_], X, 1).
findex([_|T], MAX, INDEX) :- findex(T, MAX, INDEX), INDEX is INDEX +1.