Книга: ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ
X==Y
X==Y
Предикат '==' выполняет значительно более строгую проверку на равенство, чем предикат '='. Это значит, что если X==Y выполняется, то и тем более выполняется X=Y. А обратное заключение не всегда имеет место. Отличие '==' состоит в том, что он более строг к переменным. Предикат '=' предполагает, что не-конкретизированная переменная может быть равна чему угодно, так как она сопоставима с чем угодно. С другой стороны, предикат '==' предполагает, что неконкретизированная переменная может быть равна другой неконкретизированной переменной, лишь когда они уже сцеплены друг с другом. Иначе проверка на равенство заканчивается неудачей. Таким образом, возможен следующий диалог:
?- X==Y.
нет
?- X==X.
X=_23
?- X = Y, X == Y. X = _23, Y = _23
?- присоединить([А|В],С) == присоединить(Х,Y).
нет
?- присоединить ([А|В],С) == присоединить([А|В],С).
А = _23, В = _24, С = _25
- Советы по использованию Мастера фунций
- VMware Distributed Resource Scheduler (DRS)
- В.4. Небольшие тестовые программы
- Корпоративная книга продаж
- Глава 3. Искусство интрапренерства
- Ввод данных о предприятии
- Тема 11. Проектирование структуры организации
- Отношения с людьми
- Сопутствующие функции
- Этот изменчивый мир
- Сегменты
- Часть IV Идея