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

Chain_prev/3 Внешняя База Данных

Назначение Возвращает указатель на предыдущий терм в

связанном списке

Обращение chain_prev(БДанн,Укз,ПредУкз)

Домены (db_selector,ref,ref)

Шаблоны описания (вх,вх,вых)

аргументов

Описание chain_prev возвращает указатель ПредУкз на терм,

размещенный в связанном списке Цепь перед термом с

указателем Указ. Дает неудачное завершение, если Укз

указывает на первый терм в связанном списке.

Неудачное Если в связанном списке нет больше термов.

завершение

Ошибки 1034 База данных не открыта.

1049 Неправилиный указатель базы данных.

Пример

domains

db_selector = mydba

dbdom = city(cityno,cityname);

person(firstname,lastname,street,cityno,

code)

cityno, cityname, firstname, lastname, street,

code = string

predicates

rd(Ref)

clauses

rd(Ref):-

ref_term(mydba,dbdom,Ref,Term),

write(Term),nl,

fail.

rd(Ref):-

chain_prev(mydba,Ref,Next),!,

rd(Next).

rd(_).

goal

db_open(mydba,"register.bin",in_file),

db_chains(mydba,Chain),

chain_last(mydba,Chain,Ref),

rd(Ref).