用于完全“清理”所有变量/命名空间/等的 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 的脚本,以匹配新启动的程序你得到的错误是什么。您能否查看您的日志并将其包含在您的回复中?