K-Prolog Compiler Version 6.0

データベース属性の生成/消去/取得には、
db_create/2、
db_abolish/1、
db_whatis/2を用い、
データの書き込み/内容取得/削除には、
db_put/2、
db_put/3、
db_get/2、
db_get/3、
db_delete/2を用います。
データをバックトラックによって順に取得するために
db_next/3が用意されています。
このとき、データの読み込み位置を先頭に戻すために
db_rewind/1が用意されています。
さらに、データベースは同じものを用いていても、データの読み込み位置の
異なる別のデータベースとして扱いたい場合には
db_reference/2を用います。
また、データベースをファイルに読み書きするために、
db_writeall/1、
db_readall/1
が用意されています。
Name で指定されるアトムについて、データベースの属性を定義します。
Name がすでにデータベースとして定義されているときは、エラーになりま
す。Attr として以下のものが指定できます。
- list
- リスト
- array(N)
- N要素の配列
- hash(N)
- サイズNのハッシュ
- keyedhash(N)
- サイズNのキーに関するハッシュ
- tree(N)
- 葉のサイズがNの木
- keyedtree(N)
- 葉のサイズがNのキーに関する木
Nは整数で、データベースの性質によって決定すべき値です。
エラー
| instantiation_error |
| type_error |
| resource_error |
Name で指定されるデータベースの内容と属性を消去します。
エラー
| instantiation_error |
| type_error |
| domain_error |
| db_put(@Name,@Key,@Value) |
Name で指定されるデータベースに、Value または Key-Value の組を追加
します。Keyは、hash型、tree型のときは指定しません。(これらのとき、Value に
変数を指定することは無意味です)。list型のとき、
Keyは list_first、list_current または list_last です。
エラー
| instantiation_error |
| type_error |
| domain_error |
| db_get(@Name,?Key,?Value) |
list型、array型、keyedhash型、keyedtree型
のとき、Name で指定されるデータベースから Key で指定するキーに対応
する値 Value を求めます。Key が存在しないキーのときは失敗します。
list型のとき、Key はlist_first、list_current または list_last です。
hash型、tree型のとき、Key は指定しません。Value に指定する項が
データベース中にあれば成功し、なければ失敗します。
エラー
| instantiation_error |
| type_error |
| domain_error |
array、list、keyedhash、keyedtree型のときは、Name で指定される
データベースから Key で指定する Key-Value の組を削除します。
存在しないキーを指定すると単に成功します。hash型、tree型のときは、
Name で指定されるデータベースから、値 Key を削除します。
hash または tree型で使います。Value がデータベースに入っていない場合
には、単に成功します。
エラー
| instantiation_error |
| type_error |
| domain_error |
Name で指定されるデータベースの現在位置をデータベースの先頭に戻します。
エラー
| instantiation_error |
| type_error |
| domain_error |
| db_next(@Name,?Key,?Value) |
Name で指定されるデータべースの内容を逐次に読み取ります。
データベースの終りに達すると failします。
Keyは、hash型、tree型、list型のとき無意味です
エラー
| instantiation_error |
| type_error |
| domain_error |
| db_reference(@Name,@Alias) |
Name で指定するデータベースの別名を Alias とします。Alias は
データベースとして定義されていてはいけません。
Alias の内容は Name の内容と同一になりますが、
現在位置に関しては別々に管理されます。
エラー
| instantiation_error |
| type_error |
| domain_error |
Name で指定するデータベースの属性を Attr に返します。
エラー
| instantiation_error |
| type_error |
| domain_error |
Name で指定するデータベースの内容全部をファイル出力に適当な形式で
書き出します。
エラー
| instantiation_error |
| type_error |
| domain_error |
Name で指定するデータベースの内容にファイル入力から読み取った値を追加します。
ファイル入力は db_writeall で作成したファイルに接続されていなければなりません。
エラー
| instantiation_error |
| type_error |
| domain_error |
一つ上に戻る
組込み述語に戻る
目次に戻る