我试图确定在列表的关系里面列出...Prolog的统一列表
?- matrix_items([[a,b],[c,d],[e,f]],Rs).
Rs = [a,b,c,d,e,f]. % expected result
到目前为止,我能够做这样的事;不幸的是,它并没有把所有元素加起来:
sift([],_).
sift([H|T],[H|Result]) :-
create(H,Result),
sift(H,Result).
create([],_).
create([H|T],[H|R]) :-
create(T,R).
希望很快听到你的消息。
sift是什么? – Cameron 2010-11-23 16:42:54
内置的“flatten/2”可能具有您似乎需要的行为 - 它可能已在您使用的PROLOG解释器中实现。 – sharky 2010-11-23 20:45:18