结果是tag(N, X)
结构列表,其中N的值为1,2,3,。 。 。和X代表一个列表元素。例如
?- tagit([wibble,33,junk,phew],L).
L = [tag(1, wibble), tag(2, 33), tag(3, junk), tag(4, phew)]
我是Prolog的新手,需要完成这个。
答案 0 :(得分:0)
你知道 list 是什么吗?
[]
list(X):- X=[A|B], list(B).
是一个列表。
[A|B]
如果B
是列表,则 taglist(Y):- Y=[].
是一个列表。
什么是标记列表?
[]
taglist(Y):- Y=[C|D], C=tag(N,V), taglist(D).
是一个标记列表。
[C|D]
C=tag(N,V)
是一个标记列表,如果N
某些 V
和D
,taglist2(X,Y):- X=[], Y=[].
taglist2(X,Y):- X=[A|B], Y=[C|D], ...., taglist2(B,D).
是标记列表。
我们可以将两者合并在一起,将它们粉碎成一个吗?是的,我们可以:
A
什么是V
?什么是N
?
什么是number(N,One):- N is One.
?这是一个数字。第一个数字是1:
number(N,Prev):- Next is Prev + 1, number(N,Next).
从前一个号码中找到下一个号码,如
<item android:id="@+id/navigation_item1"
android:checkable="true"
android:title="Map"
android:textColor="#FFFFFF"
android:icon="@mipmap/ic_launcher"/>
我们可以把他们三个粉碎在一起吗?我们可以。试试吧,这很有趣。