Составные объекты данных и функторы

Составные объекты данныхпозволяют интерпретировать некоторые части информации как единое целое таким образом, чтобы затем можно было легко разделить их вновь. Возьмем, например, дату "октябрь 15, 1991". Она состоит из трех частей информации — месяц, день и год. Представим ее на рис. 8, как древовидную структуру.

 
 

 

 


Рис. 8. Древовидная структура даты

Вы можете сделать это, объявив домен, содержащий составной объект date:

domains

date_cmp = date(string, unsigned, unsigned)

а затем просто записать:

D = date("October",15,1991).

Такая запись выглядит как факт Пролога, но это не так — это объект данных, который вы можете обрабатывать наряду с символами и числами. Он начинается с имени, называемого функтором (в данном случае date), за которым следуют три аргумента.

Обратите внимание, что функтор в Visual Prolog — не то же самое, что функция в других языках программирования; это просто имя, которое определяет вид составного объекта данных и объединяет вместе его аргументы.

Функтор не обозначает, что будут выполнены какие-либо вычисления.

Аргументы составного объекта данных могут сами быть составными объектами.