foo([], Res).
foo([schedule(_, X)|Tail], Res) :- append(Res, X, Res2),
foo(Tail, Res2).
Ожидаемый результат:Рассуждая выпуска прологе
X представляет собой список значений, Res, где результат должен быть сохранен.
Представьте себе, что я называю:
foo([schedule(c1,[t1,t2]),schedule(c2,[t3,t4])], X).
Что должен быть результат является:
X = [t1,t2,t3,t4].
Но результат:
X = [] ;
X = [_G6951] ;
X = [_G6951,_G6957] ;
X = [_G6951,_G6957,_G6963] ;
X = [_G6951,_G6957,_G6963,_G6969] ;
X = [_G6951,_G6957,_G6963,_G6969,_G6975] ;
X = [_G6951,_G6957,_G6963,_G6969,_G6975,_G6981] ;
X = [_G6951,_G6957,_G6963,_G6969,_G6975,_G6981,_G6987] ;
и так далее ...
Что не так в моем коде и рассуждениях, так что я понимаю, что пошло не так?
Привет, человек, спасибо, что ответ! Почему неправильный порядок подцелей? –