get_global(+グローバル変数名,-項) # global_variable(-グローバル変数名)
「項」は、グロ−バル変数である「グロ−バル変数名」の現在値に単一化されます。set_global/2を使って、その値を設定したり変更します。
global_variable/1には、次の2つの使用用法があります。特定のグロ−バル変数が存在するかどうかを調べる、あるいは既存のグロ−バル変数のすべての名前を生成するために使われます。
上記の第1の用法では、必ず「グロ−バル変数名」はアトムによって値を与えられなければなりません。「グロ−バル変数名」という名前のグロ−バル変数があれば、述語は成功します。
第2の用法では、「グロ−バル変数名」は値を持たない変数でなければなりません。これは、最も最近に作られたグロ−バル変数の名前に単一化されます。バックトラックによって、グロ−バル変数の名前が生成時の逆の順序で返されます。
?- global_variable(a).
no ?- set_global(a,1), set_global(b,s(X,3)), global_variable(X).
X = b; X = a; X = break:break_level;
no ?- get_global(b,Val).
Val = s(_312,3) yes ?- _
undefined_variable 「グロ−バル変数名」が前もって設定されていない atom_expected 「グロ−バル変数名」がアトムでない