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

Домены составных объектов.

myCompDom=f1(d11,d12,...,d1n);f2(d21,d22,...);...

Чтобы объявить домен, который состоит из составных объектов, вы ука-

зываете функтор и домены для всех подкомпонентов.

Например, вы можете объявить домен owners, составленный из следующих

элементов:

owns(john, book (wuthering_heights, bronte))

а также объявляем:

owners = owns(symbol, book)

book = book (symbol, symbol)

где owns является функтором составного объекта, а symbol и book являются

доменами подкомпонентов.

Правая часть этого типа объявлений доменов может определять различ-

ные альтернативы, разделенные точкой с запятой (;) или ключевым словом

or. Каждая альтернатива должна содержать единственный функтор и описание

доменов для подкомпонент функтора. Например, следующее объявление домена

может быть использовано, чтобы сказать: "Для некоторых предикатов значе-

нием key может быть up, down, left, right или символьная величина".

key = up; down; left; right; char (char)