Составители:
Рубрика:
81
Метод ОО можно использовать и иначе, например, для обработки вы-
бираемых элементов. Программа, изображенная на листинге 4.5, демонстри-
рует использование ОО-метода для создания списка выбранных из базы дан-
ных элементов.
Листинг 4.5
_______________________________________________________________
/* Программа: Новые детские имена */
/* Назначение: Демонстрация использования предиката */
/* cut (!) и ОО-метода */
domains
name = symbol
predicates
child(name)
go_and_get_them
goal
go_and_get_them
clauses
child("Tom ").
child("Alice ").
child("Diana ").
child("Alice ").
child("Beth ").
child("Lee ").
child("Alice ").
go_and_get_them :-
write(" Список имен"),
nl,nl,
child(Name),
Name="Alice",
write(" ",Name),nl,
fail.
_______________________________________________________
Как и в программе, формирующей список имен детей, в этой про-
грамме child(name) является предикатом базы данных, содержащим инфор-
мацию, необходимую для генерации списка имен. Имеется 7 альтернатив-
ных утверждений. Три из них содержат имя Alice. Правило, которое выби-
рает и выдает имя Alice,
имеет вид:
get_alice :-
child(Name),
Метод ОО можно использовать и иначе, например, для обработки вы-
бираемых элементов. Программа, изображенная на листинге 4.5, демонстри-
рует использование ОО-метода для создания списка выбранных из базы дан-
ных элементов.
Листинг 4.5
_______________________________________________________________
/* Программа: Новые детские имена */
/* Назначение: Демонстрация использования предиката */
/* cut (!) и ОО-метода */
domains
name = symbol
predicates
child(name)
go_and_get_them
goal
go_and_get_them
clauses
child("Tom ").
child("Alice ").
child("Diana ").
child("Alice ").
child("Beth ").
child("Lee ").
child("Alice ").
go_and_get_them :-
write(" Список имен"),
nl,nl,
child(Name),
Name="Alice",
write(" ",Name),nl,
fail.
_______________________________________________________
Как и в программе, формирующей список имен детей, в этой про-
грамме child(name) является предикатом базы данных, содержащим инфор-
мацию, необходимую для генерации списка имен. Имеется 7 альтернатив-
ных утверждений. Три из них содержат имя Alice. Правило, которое выби-
рает и выдает имя Alice, имеет вид:
get_alice :-
child(Name),
81
Страницы
- « первая
- ‹ предыдущая
- …
- 79
- 80
- 81
- 82
- 83
- …
- следующая ›
- последняя »
