オブジェクトのスコープ

 


述語名/引数 (setScope *o *s)
要約 オブジェクトのスコープを設定します。
互換性 Win Unix
引数 *o [in/out] オブジェクト
*s [in] スコープ識別子(global, local, world, clauseのいずれか)
成功/失敗 true  スコープの設定に成功した。
false 上記以外
解説 *oには通常、変数を指定します。

*sにはスコープ識別子としてglobal, local, world, clauseのいずれかシンボルを与えます。識別子とそれが表すスコープの意味は以下の通りです。

global: 大域的なスコープです。同名のオブジェクトは常に同一視されます。
local: 標準的なスコープであり、オブジェクトは通常デフォルトでこのスコープを持ちます。スコープの範囲は一つの節です。
world: 節とその従属ワールド間を共有するためのスコープです。親の節では通常のスコープを持つオブジェクトとして、従属ワールドでは大域的なスコープを持つオブジェクトのように振舞うためのスコープです。
clause: 一つのワールドをスコープとします。節間で変数を共有するが、ワールド間では共有させないために用いられます。

 

 


述語名/引数 (getScope *o *s)
要約 オブジェクトのスコープを取得します。
互換性 Win Unix
引数 *o [in] オブジェクト
*s [out] スコープ識別子
成功/失敗 true  スコープの取得に成功し、*sのマッチングに成功した。
false 上記以外
解説 スコープ識別子についてはsetScope/2を参照してください。

 


述語名/引数 (getCreatorWorld *o *w)
要約 オブジェクトの作成元のワールド識別子を取得します。
互換性 Win Unix
引数 *o [in] オブジェクト
*w [out] ワールド識別子
成功/失敗 true  スコープの取得に成功し、*wのマッチングに成功した。
false 上記以外
解説 ワールド識別子を取得できるオブジェクトはsetScope/2でclauseスコープを指定されたオブジェクトです。

全てのオブジェクトから作成元のワールド識別氏を取得できるわけではありません。