logo
TurboProlog / Документация / TOM_1

Рассмотрение нескольких значений как единое целое.

Составные объекты могут рассматриваться в педложениях Пролога, как

единые объекты, что сильно упрощает написание программ. Рассмотрим, нап-

ример факт:

имеет(джон,книга("Отсюда в Вечность","Джеймс Джонс")).

в котором утверждается, что у Джона есть книга "Отсюда в Вечность", напи-

санная Деймсом Джонсом. Аналогично можно записать:

имеет(джон,лошадь(блеки)).

что означает: у Джона есть лошадь Блеки.

Составными объектами в этих двух примерах являются

книга("Отсюда в Вечность","Джеймс Джонс")

и лошадь(блеки)

Если вы вместо этого описали бы два факта :

имеет(джон,"Отсюда в Вечность").

имеет(джон,блеки).

Вы не смогли бы определить, является ли Блеки названием книги или

именем лошади. С другой стороны, вы можете использовать первый компонент

составного объекта - функтор для распознавания различных объектов. Этот

пример использует функторы книга и лошадь для указания разницы между объ-

ектами.

Запомните: Составные объекты состоят из функтора и объектов принад-

лежащих функтору, как показано:

функтор(объект1,объект2, ... ,объектN)