假设第三个参数是结果。
a(1,[Hd | Tl],Hd)。 a(N,[ | Tl],Elem): - N> 1, N1是N - 1, a(N1,Tl,Elem)。
我试图了解这是做什么的.......
答案 0 :(得分:1)
它给出了列表的第N个元素。您可以按如下方式阅读定义:
a( 1, [Hd | Tl], Hd ).
Hd是列表[Hd | Tl]
的第一个元素,即以Hd开头的列表,后面是列表T1。
a( N, [ | Tl], Elem ) :- N > 1, N1 is N - 1, a( N1, Tl, Elem).
Elem是列表的第N个元素,当且仅当它是尾部的N1
元素时,N1
为N-1
。