公開日: 11/25/2021

Show Symbols、Clear Symbols、Delete Symbols

Show Symbols()関数は、グローバルとローカルの両方で定義されている変数と名前空間を、現在値とともにリストします。以下は、ログに表示されたShow Symbols()メッセージの結果の例です。

Show Symbols();

// Here

a = 5;

b = 6;

// 2 Here

// Global

c = 10;

// 1 Global

ヒント: JSLデバッガでも、変数と名前空間の値を表示することができます。スクリプトのデバッグ/プロファイルを参照してください。

Clear Symbols()関数は、グローバルとローカルの両方で定義されている変数の設定値をクリアします。たとえば、Clear Symbolsの後にShow Symbolsを使うと、変数が空になっていることがわかります。

Clear Symbols();
Show Symbols();

// Here

a = Empty;

b = Empty;

// 2 Here

// Global

c = Empty;

// 1 Global

メモ: 以前のバージョンで使用されていたShow Globals()関数とClear Globals()関数は、新しいShow Symbols()関数とClear Symbols()関数の別名です。

すべてのグローバル変数および名前空間を削除するには、Delete Symbols()関数を使用します。次のスクリプトの最後にあるShow Symbols()が実行されても、ログには何も表示されません。すべての変数がメモリから完全に削除されるためです。

Delete Symbols();
Show Symbols();

すべての名前空間内の変数をリストするには、Show Namespaces()を使用します。特定の名前空間のみを削除するには、ns << Deleteを使用します。Clear Symbols()Delete Symbols()は、名前空間への参照を含む変数をクリアまたは削除しますが、各名前空間内の変数をクリアまたは削除するわけではありません。範囲指定のない変数について詳しくは、名前解決のルールを参照してください。

メモ: Clear Symbols()Delete Symbols()は、現在使用されているすべてのスクリプトを中断します。これらの関数は、プログラミング環境やデバッグ環境に非常に便利ですが、配布予定のスクリプトには含めないようにしてください。スクリプトにNames Default To Here(1)を含めた場合、グローバルシンボルのクリアや削除は必要ありません。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).