获取序言中的所有列表元素
Get all list elements in prolog
我需要使用 prolog 获取列表外的所有列表元素。
['1','2','3',a,b,c]
成为 X='1','2','3',a,b,c
我需要如上所示的结果 X。
是否可以得到结果?
这将按字面显示您所要求的内容(我假设您对结果感兴趣只是出于显示目的)。
print_list(L) :-
write('X='),
print_list_aux(L), !.
print_list_aux([H1,H2|T]) :-
print(H1),
write(','),
print_list_aux([H2|T]).
print_list_aux([X]) :-
print(X),
nl.
print_list_aux([]) :- nl.
示例:
?- print_list(['1', '2', a, b]).
X='1','2',a,b
true.
?-
如果您使用 write/1
而不是 print/1
,您将消除输出中数字的引号,因此它将是:X=1,2,a,b
.
我需要使用 prolog 获取列表外的所有列表元素。
['1','2','3',a,b,c]
成为 X='1','2','3',a,b,c
我需要如上所示的结果 X。
是否可以得到结果?
这将按字面显示您所要求的内容(我假设您对结果感兴趣只是出于显示目的)。
print_list(L) :-
write('X='),
print_list_aux(L), !.
print_list_aux([H1,H2|T]) :-
print(H1),
write(','),
print_list_aux([H2|T]).
print_list_aux([X]) :-
print(X),
nl.
print_list_aux([]) :- nl.
示例:
?- print_list(['1', '2', a, b]).
X='1','2',a,b
true.
?-
如果您使用 write/1
而不是 print/1
,您将消除输出中数字的引号,因此它将是:X=1,2,a,b
.