我正在尝试从可变大小的元组中创建一个列表。但是,我无法弄清楚如何表示一个空元组(或其中包含单个值的元组),我需要作为我的最终案例。
这就是我现在所拥有的,通过跟踪来判断,确实创建了一个列表(但是反过来但它并不是真正的问题),但它最终会失败。
tuple_to_list((), []).
tuple_to_list((X, ()), [X]).
tuple_to_list((X, XS), List) :-
tuple_to_list(XS, [X|List]).
答案 0 :(得分:1)
只是:
tuple_to_list((X, XS),[X | List]) :-
tuple_to_list(XS, List).
tuple_to_list((X), [X]):-
X \= (_,_).
最后一句 X \ =(,)。因为
?- (X) = (a,b).
X = (a, b).