用於完全「清理」所有變數/命名空間/等的 JMP 的腳本,以匹配新啟動的程序我有一個正在排除故障的腳本,問題涉及範圍界定。 問題是我必須完全關閉 JMP 並重新啟動它才能測試我的更改(deletesymbols() 和 deletenamespaces() 清理得不夠)。
1)啟動JMP
2)運行腳本,出現錯誤
3)關閉資料表
4)再次運行腳本,腳本工作正常。
5) 關閉JMP,然後重新啟動JMP
6)運行腳本,出現錯誤
顯然,某些內容已被聲明、就位、分配等,從而允許腳本第二次運行。 我想要一些腳本來非常清楚 JMP 正在發生的事情,這樣它就盡可能新鮮(就像完全重新啟動程式一樣)。
謝謝!
回覆:完全「清理」所有變數/命名空間/等的 JMP 的腳本,以符合新啟動的程式感謝大家的評論... 我找出了問題所在以及為什麼 Deletesymbols() 不起作用。
事實證明,我的腳本的一部分打開了 Here 命名空間(名稱預設為 here(1))...作為包含的一部分,使得整批腳本都位於 Here 命名空間中,這與其他作用域不起作用做了。 Deletesymbols() 不起作用,因為我需要刪除的變數現在實際上儲存在 Here 命名空間中,並受到保護。
我能夠透過強制 Here 命名空間在第一個腳本開始時消失來解決此問題,這樣當第二個腳本將其帶回時,所有故障都會按需發生。
最後,這兩個腳本來自不同的來源,需要完成大量範圍界定工作才能使一切重新正常運作。 但我現在更多地了解了 Here 命名空間如何既是福又是禍:D
回覆:完全「清理」所有變數/命名空間/等的 JMP 的腳本,以符合新啟動的程式遺憾的是,DeleteSymbols() 不起作用。 就像你的回答一樣,我相信它應該有效。 我可能需要聯絡 JMP 支援人員。 也許DeleteSymobols() 沒有做它該做的事情?
回覆:完全「清理」所有變數/命名空間/等的 JMP 的腳本,以符合新啟動的程式從“幫助 > 腳本索引”-“刪除符號()”將“d”刪除任意範圍內的所有符號。 如果指定了一個或多個名稱,則僅刪除這些符號。 '
回覆:完全「清理」所有變數/命名空間/等的 JMP 的腳本,以符合新啟動的程式其中有許多(變數、命名空間分配等),不值得在這裡提及。 我所尋找的只是一個能夠完全清理所有變數、命名空間、全域變數、快取等的腳本,因此狀態就像初始啟動時一樣乾淨。 我知道腳本不起作用的原因...我只是不想每次想要測試時都完全重新啟動 JMP。
回覆:完全「清理」所有變數/命名空間/等的 JMP 的腳本,以符合新啟動的程式你得到的錯誤是什麼。您能否查看您的日誌並將其包含在您的回覆中?