Как я могу объединить все элементы списка из списка в списках?Объединить все элементы из списка списков
пример
combine([[a,b,c],[d,[e,f],g],h],X).
return X = [a,b,c,d,e,f,g,h]
Это то, что я имел попробовать
flat([], []).
flat([First|Rest], _X):-
flat(Rest, First).
Вы можете также искать вдохновение в реализации библиотеки SWI-Prolog из 'выравниваться/2', который является точным предикат, который вы пытаетесь реализовать: HTTP: //www.swi- prolog.org/pldoc/doc/home/vnc/prolog/lib/swipl/library/lists.pl?show=src (поиск на странице для определения flatten) –
Разве это не то, что встроенный 'flatten 'делает? – lurker