почему этот код не может быть запущен? что такое «ошибка синтаксиса: ожидается постфиксный или инфиксный оператор» в ECLiPSe-clp - PullRequest
0 голосов
/ 21 апреля 2019

Когда я хочу запустить этот код в ECLiPSe-CLP, я получаю следующую ошибку

Error:
string stream 27: syntax error: postfix/infix operator expected

|     4 $= X^2 + Y^2,   (Error Mark is under '=')
|           

Код:

circles(X, Y) :-
    4 $= X^2 + Y^2,
    4 $= (X - 1)^2 + (Y - 1)^2,
    X $>= Y.

1 Ответ

0 голосов
/ 21 апреля 2019

Оператор / предикат $=/2 является предикатом библиотеки. Вы загружаете библиотеку, определяющую это? Э.Г.

[eclipse 12]: lib(ic).
...
Yes (0.12s cpu)

[eclipse 13]: [user].
circles(X, Y) :-
     4 $= X^2 + Y^2,
    4 $= (X - 1)^2 + (Y - 1)^2,
     X $>= Y.
 ^Dtty        compiled 4024 bytes in 0.00 seconds

Yes (0.00s cpu)

[eclipse 14]: circles(X, Y).

X = X{-1.0000000000000004 .. 2.0000000000000004}
Y = Y{-1.0000000000000004 .. 2.0000000000000004}

There are 13 delayed goals. Do you want to see them? (y/n) 
...