неопределенная процедура на ECLiPSe 7.0 Пролог - PullRequest
1 голос
/ 17 апреля 2019

У меня есть следующий файл .ecl:

:-lib(ic).

test(Valparaiso, Olmue):-
    Valparaiso :: 1..10,
    Olmue :: 1..10,

    2*Valparaiso + 1*Olmue #<= 10,
    1*Valparaiso + 2*Olmue #<= 8,

    labeling(Valparaiso),
    labeling(Olmue).

Итак, я получаю следующую ошибку:

вызов неопределенной процедуры 2 * A + 1 * B # <= 10 в модуле eclipse </p>

Я использую ECLiPSe 7.0 для запуска этого скрипта.

1 Ответ

3 голосов
/ 17 апреля 2019

Это то, с чем иногда сталкиваются новички в Prolog / ECLiPSe: знак "менее равно" - =<, а не <=, как во многих других языках.Лучше всего запоминается визуализация формы оператора:

enter image description here

Это на самом деле красивее, не так ли?Относительно того, почему это было сделано таким образом, фольклор говорит, что кто-то хотел зарезервировать <= как стрелку влево или символ обратной импликации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...