Это как условие выглядитКак Prolog оценивает этот пункт?
splits(L, ([],L)).
splits([X|L],([X|S],E)):- splits(L, (S,E)).
расколов следует разделить список L на две части в каждой возможной точке и должна вернуть все возможности. Возможный запрос:
разделов ([1,2,3], Res).
Результатом является
Res = ([], [1,2,3]);
Res = ([1], [2,3]);
Res = ([1,2], [3]);
Res = ([1,2,3], []);
No
Моя проблема в том, что я не понимаю, как расщепляется работу. Я записал это для вышеупомянутого случая, но все же я не знаю. Я был бы признателен, если бы кто-нибудь мог мне это объяснить.
Что вы не понимаете? –
@PaulButcher: Я не понимаю, как это работает. Я написал это шаг за шагом, но я не знаю, как производится * Res *. – tumbler
@PaulButcher: для экземпляров S и E довольно запутывают. – tumbler