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

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

Назначение Возвращает указатель для следующего терма в связанном

списке

Обращение chain_next(БДанн,Укз,СледУкз)

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

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

аргументов

Описание chain_next возвращает указатель Укз для следующего

терма (после терма с указателем Укз) в связанном

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

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

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

завершение

Ошибки 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_next(mydba,Ref,Next),!,

rd(Next).

rd(_).

goal

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

db_chains(mydba,Chain),

chain_first(mydba,Chain,Ref),

rd(Ref).