Пролог возвращает Out = _G431, когда он должен вернуть список списков - PullRequest
0 голосов
/ 02 мая 2010
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) в прологе.

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

1 Ответ

1 голос
/ 01 октября 2010

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

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

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

...