Пролог возвращает Out = _G431, когда он должен возвращать список списков.

createSchedule([[math109]], fall, Out).
[[cs485, cs485], [cs355, cs355, cs462, cs462, cs462], [cs345, cs345, cs352, cs352, cs352, cs362, cs362, cs362, cs396, cs396, cs396], [cs330, cs330, cs330], [cs255, cs255, cs255, cs268, cs268], [math114, cs245, cs245], [math112, cs145, cs146], [math109]]

Out = _G431

это то, что возвращает пролог, и список списков отображается с помощью write(Out) в прологе.

Любые идеи, почему он показывает это? Спасибо


person Mandah    schedule 02.05.2010    source источник


Ответы (1)


Кажется, что переменная Out в цели createSchedule([[math109]], fall, Out), возможно, не была унифицирована ни с чем при выполнении цели (или она была унифицирована только с переменными).

Я предлагаю вам проверить, где в вашем коде должна быть связана последняя переменная в createSchedule/3 (т. е. Out), и если это не поможет, вы можете выполнить ?- trace, createSchedule([[math109]], fall, Out). и просмотреть свой код, чтобы увидеть, где он не работает должным образом.

Без дополнительной информации (например, определения предиката) мы больше не сможем вам помочь.

person Community    schedule 01.10.2010