我試圖確定在列表的關係裏面列出...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