i([],_,0).
i([H|T],H,I) :- i(T,H,J),I is J+1.
i([H|T],X,I) :- i(T,X,I).
请解释一下这个prolog代码的作用。第三条款中的X做了什么?请解释这个prolog代码的作用
第二个子句的格式做什么(T,H,J),什么进入J?
我的角色是什么?我只是在那里存储答案?在这样的条款中,最后的“论点”是否只是答案的地方?
请你解释一下为什么我等于这些问题给出的值。我完全努力去理解序言,它是我曾经用过或见过太不同...
i([ 1,2,3 ],0,I). I = 0.
i([ 1,2,1,2 ],1,I). I = 2.
i([ 1,2,3,4 ],2,I). I = 1.
i([ 5,3,3,4,2,2,3 ],3,I). I = 3.
如果你能解释一下这个非常简单,我会非常高兴。我只需要真正理解序言中的列表,剩下的语言对我来说就不再需要了(希望只要我活着)。
请放心,这段代码不会对你做任何事 – Marged
我现在修复了:) – sweetsm