新たに開始したプログラムと一致するように、すべての変数/名前空間などの JMP を完全に「クリーン」するスクリプトトラブルシューティング中のスクリプトがあり、問題はスコープ設定に対処しています。 問題は、変更をテストするために JMP を完全にシャットダウンし、再起動する必要があることです (deletesymbols() と deletenamespaces() では十分にクリーンアップされません)。
1) JMPを起動する
2) スクリプトを実行するとエラーが発生します
3) データテーブルを閉じる
4) スクリプトを再度実行します。スクリプトは正常に動作します。
5) JMP を閉じて、JMP を再起動します。
6) スクリプトを実行するとエラーが発生します
明らかに、スクリプトが 2 回目に動作できるようにするために、何かが宣言、配置、割り当てなどが行われています。 JMP で起こっていることをほぼすべてクリアして、できるだけ新鮮な状態にするスクリプトが必要です (プログラムを完全に再起動するのと同じように)。
ありがとう!
Re: 新たに開始したプログラムと一致するように、すべての変数/名前空間/その他の JMP を完全に「クリーン」するスクリプトみなさんのコメントのおかげで… 何が問題で、なぜ Deletesymbols() が機能しないのかがわかりました。
私のスクリプトの一部が Here 名前空間をオンにしていたことがわかりました (名前のデフォルトは here(1)) ... インクルードの一部であるため、スクリプトのバッチ全体が Here 名前空間に作成され、他のスコープでは機能しませんでした。していた。 削除する必要があった変数が実際には Here 名前空間に保存され、保護されていたため、Deletesymbols() は機能しませんでした。
最初のスクリプトの開始時に Here 名前空間を強制的に削除することで、この問題を修正することができました。これにより、2 番目のスクリプトによって名前空間が戻されたときに、すべてのエラーがオンデマンドで発生するようになります。
最終的に、2 つのスクリプトは異なるソースから取得されたものであり、すべてを再び機能させるには多くのスコープ作業を行う必要がありました。 しかし今では、Here 名前空間がどのように祝福にも呪いにもなり得るかについて、より詳しく分かりました 
Re: 新たに開始したプログラムと一致するように、すべての変数/名前空間/その他の JMP を完全に「クリーン」するスクリプト残念ながら、DeleteSymbols() は機能しません。 あなたの回答と同じように、それはうまくいくはずだと思います。 JMP サポートに連絡する必要があるかもしれません。 おそらく DeleteSymobols() が本来行うべきことを行っていないのではないでしょうか?
Re: 新たに開始したプログラムと一致するように、すべての変数/名前空間/その他の JMP を完全に「クリーン」するスクリプト「ヘルプ > スクリプト インデックス」から - 「シンボルの削除()」を実行すると、任意のスコープ内のすべてのシンボルを削除します。 1 つ以上の名前が指定されている場合、それらのシンボルのみが削除されます。 '
Re: 新たに開始したプログラムと一致するように、すべての変数/名前空間/その他の JMP を完全に「クリーン」するスクリプトそれらはたくさんあります (変数、名前空間の割り当てなど) が、ここで取り上げる価値はありません。 私が探しているのは、すべての変数、名前空間、グローバル、キャッシュなどを完全に削除して、最初の起動時と同じくらいクリーンな状態にするスクリプトだけです。 スクリプトが機能しない理由はわかっています...テストするたびに JMP を完全に再起動したくないだけです。
Re: 新たに開始したプログラムと一致するように、すべての変数/名前空間/その他の JMP を完全に「クリーン」するスクリプト発生しているエラーは何ですか。ログを調べて、それを返信に含めていただけますか?