List 访问存储在变量中的列表的头和尾,作为进一步谓词(Prolog)的输入
所以,我有一个简单的列表。比如说:List 访问存储在变量中的列表的头和尾,作为进一步谓词(Prolog)的输入,list,recursion,prolog,element,List,Recursion,Prolog,Element,所以,我有一个简单的列表。比如说: L([a,b,c]). 我想访问Head和Tail(H | T),以便递归地使用元素作为其他谓词的输入。基本上 somePredicate(a), someOtherPredicate(T). 直到列表为空。我该怎么做 我使用以下方法生成了列表: range(0,L) :- L = []. range(1,L) :- L = []. range(M,L) :- NewM is M - 1, numlist(1, N
L([a,b,c]).
我想访问Head和Tail(H | T),以便递归地使用元素作为其他谓词的输入。基本上
somePredicate(a),
someOtherPredicate(T).
直到列表为空。我该怎么做
我使用以下方法生成了列表:
range(0,L) :-
L = [].
range(1,L) :-
L = [].
range(M,L) :-
NewM is M - 1,
numlist(1, NewM, L).
简单:
pre([H|T]):-
writeln(H),
writeln(T),
pre(T).
?-pre([a,b,c]).
OUTPUT:
a
[b, c]
b
[c]
c
[]
如果要将这些值与另一个谓词一起使用:
pre([H|T]):-
writeln(H),
pre1(T),
pre(T).
pre1([H|T]):-
writeln([H|T]).
?-pre([a,b,c]).
OUTPUT:
a
[b, c]
b
[c]
c
[]
只是想谋生你拥有的东西没有一个清单。这是一个列表:
[a,b,c]
。如果你在一个变量中有一个列表,你可以像这样把它分成头和尾:L=[a,b,c],L=[H|T]