Prolog 序言问题
假设第三个参数是结果 a(1,[Hd | Tl],Hd)。 a(N,[Tl],Elem):- N>1, N1是N-1, a(N1,Tl,Elem)Prolog 序言问题,prolog,Prolog,假设第三个参数是结果 a(1,[Hd | Tl],Hd)。 a(N,[Tl],Elem):- N>1, N1是N-1, a(N1,Tl,Elem) 我试图理解它的作用……它给出了列表的第n个元素。您可以阅读以下定义: a( 1, [Hd | Tl], Hd ). Hd是列表的第一个元素,即以Hd开头的列表,后跟列表Tl a( N, [ | Tl], Elem ) :- N > 1, N1 is N - 1, a( N1, Tl, Elem). Elem是列表的第N个元素当且仅当它是其尾
我试图理解它的作用……它给出了列表的第n个元素。您可以阅读以下定义:
a( 1, [Hd | Tl], Hd ).
Hd是列表的第一个元素,即以Hd开头的列表,后跟列表Tl
a( N, [ | Tl], Elem ) :- N > 1, N1 is N - 1, a( N1, Tl, Elem).
Elem是列表的第N个元素当且仅当它是其尾部的第N个元素,其中,
N1
是N-1
,我承认,我的序言不是它应该是的-但完全除此之外,我在这里遗漏了一个问题。。。