Minervaは、項を保存して読み出すためにいわゆる項ベクトルをサポートしています。...
移動
次へ 前へ
上へ 最上
詳細
tv_add/2
tv_create/1
tv_get/3
tv_list/2
tv_set/3
tv_setsize/2
tv_size/2
参考
算術比較
算術式評価
アトム項処理
文書処理と正規表現
黒板
バイナリ入出力
文字入出力
制約処理
Compilation
節の生成と削除
節の検索と情報
グローバル変数
文法規則
リスト
論理と制御
全解
配布されたMinervaプロセス間の通信
ストリームの選択と制御
サーブレット
項の比較
項の生成と分解
項の入出力
項の単一化
項ベクター
項ストリーム
XML (eXtended Markup Language) 項へのサポート
非同期タイマー処理へのサポート
型検査
イフコンピュータ > MINERVA > マニュアル > レファレンス > 述語 > 項ベクター

項ベクター

Minervaは、項を保存して読み出すためにいわゆる項ベクトルをサポートしています。

グローバル・データの管理をサポートするためには異なる種類の述語クラスが、存在します: Minervaデータベース(assert、retract、節、その他で処理します)、グローバル変数(set_global、get_global、その他で処理します)黒板(bb_put、bb_get、その他で処理されます)、そして、項ベクトルです。
項ベクトルを取り扱うために、以下の述語があります:

  • tv_create/1
  • tv_add/2
  • tv_size/2
  • tv_setsize/2
  • tv_set/3
  • tv_get/3
  • tv_list/2

項ベクトルは、一種の動的にリサイズ可能な項のアレイです。
項を項ベクトルから保存し読み出す前に、あなたは項ベクトルをつくらなければなりません。 これは、tv_create/1で行います。 項ベクトルは初めは空です。すなわち、サイズは0です。 述語tv_add/2またはtv_set/3で、項ベクトルに項を加えることができます。 tv_list/2を呼ぶことによって、ベクトルの全ての項を読み出すことができます。そして、tv_get/3で一つの項をアクセスすることができます。

例題

main(_) :-
    my_findall(I, for(1,I,10), Numbers).

my_findall(Term, Goal, Terms) :- % create a term vector ... tv_create(Vector), % .. . add a bulk of data to it ... retrieve_info(Vector, Term, Goal), % ... and collect all terms. tv_list(Vector, Terms).

retrieve_info(Vector, Term, Goal) :- % call a goal ... call(Goal), % ... store the information ... tv_add(Vector, Term), % ... and backtrack until there are no more results. fail. retrieve_info(_, _, _).

続く..
tv_add/2
項を項ベクトルにアペンドします。...
tv_create/1
項ベクトルをつくります。...
tv_get/3
項ベクトルの中でi番目の項を読み出します。...
tv_list/2
リストの中で項ベクトルの全ての要素を集めます。...
tv_set/3
項ベクトルの中で項に上書きします。...
tv_setsize/2
項ベクトルのサイズをセットします。...
tv_size/2
項ベクトルの現在のサイズを読み出します。...
MINERVA
ifcomputer logo
f
Expert Services on the Web
言語
English
Japanese
サーバー
USA
Japan
サイトマップ
索引
目次
全体目次
全体索引
印刷向き
imode
PDA
探索
document: http://www.ifcomputer.co.jp/MINERVA/Manual/Reference/Predicates/termvector/home_jp.html
published 2008/6/30 update 2003/1/23 (c) 1996-2006 IF Computer Japan
IF Computer 〒113-0022 Tel 03-5814-3352 ifcj@ifcomputer.co.jp
Customer Support 東京都文京区千駄木5-28-2   http://www.ifcomputer.co.jp
冒頭へ managed with ubiCMS