새로 시작된 프로그램과 일치하도록 모든 변수/네임스페이스/등의 JMP를 완전히 '정리'하는 스크립트문제를 해결하고 있는 스크립트가 있고 범위 지정과 관련된 문제가 있습니다. 문제는 변경 사항을 테스트하려면 JMP를 완전히 종료했다가 다시 시작해야 한다는 것입니다(deletesymbols() 및 deletenamespaces()로는 내용이 충분히 정리되지 않습니다).
1) JMP를 시작합니다
2) 스크립트를 실행하면 오류가 발생합니다.
3) 데이터 테이블 닫기
4) 스크립트를 다시 실행하면 스크립트가 제대로 작동합니다.
5) JMP를 닫은 다음 JMP를 다시 시작합니다.
6) 스크립트를 실행하면 오류가 발생합니다.
분명히 스크립트가 두 번째로 작동할 수 있도록 무언가가 선언되고, 제자리에 지정되고, 할당되었습니다. JMP에서 무슨 일이 일어나고 있는지 명확하게 설명하는 스크립트를 사용하여 최대한 최신 상태로 유지하고 싶습니다(프로그램을 완전히 다시 시작하는 것과 같습니다).
감사해요!
Re: 새로 시작된 프로그램과 일치하도록 모든 변수/네임스페이스/등의 JMP를 완전히 '정리'하는 스크립트모든 분들의 댓글 덕분에... 문제가 무엇인지, 왜 Deletesymbols()가 작동하지 않는지 알아냈습니다.
내 스크립트의 한 부분이 Here 네임스페이스(이름의 기본값은 here(1))를 설정한 것으로 밝혀졌습니다. 포함의 일부로 인해 다른 범위 지정에서는 작동하지 않는 Here 네임스페이스의 전체 스크립트 배치가 만들어졌습니다. 했다. 삭제해야 하는 변수가 현재 Here 네임스페이스에 실제로 저장되어 보호되어 있기 때문에 Deletesymbols()가 작동하지 않았습니다.
첫 번째 스크립트 시작 시 Here 네임스페이스를 강제로 사라지게 하여 두 번째 스크립트에서 이를 다시 가져올 때 요청 시 모든 오류가 발생하도록 하여 이 문제를 해결할 수 있었습니다.
결국 두 스크립트는 서로 다른 소스에서 나왔고 모든 것이 다시 작동하도록 하려면 많은 범위 지정 작업을 수행해야 했습니다. 하지만 이제 Here 네임스페이스가 어떻게 축복이자 저주가 될 수 있는지 더 많이 알게 되었습니다. 
Re: 새로 시작된 프로그램과 일치하도록 모든 변수/네임스페이스/등의 JMP를 완전히 '정리'하는 스크립트안타깝게도 DeleteSymbols()는 작동하지 않습니다. 귀하의 답변과 마찬가지로 효과가 있었어야 한다고 생각합니다. JMP 지원팀에 문의해야 할 수도 있습니다. 아마도 DeleteSymobols()가 해야 할 일을 하고 있지 않은 것일까요?
Re: 새로 시작된 프로그램과 일치하도록 모든 변수/네임스페이스/등의 JMP를 완전히 '정리'하는 스크립트'도움말 > 스크립팅 색인' - '기호 삭제()'에서 ' 모든 범위의 모든 기호를 삭제합니다. 하나 이상의 이름이 지정된 경우 해당 기호만 삭제됩니다. '
Re: 새로 시작된 프로그램과 일치하도록 모든 변수/네임스페이스/등의 JMP를 완전히 '정리'하는 스크립트변수, 네임스페이스 할당 등 여러 가지가 있으므로 여기서 언급할 가치가 없습니다. 내가 찾고 있는 것은 모든 변수, 네임스페이스, 전역, 캐시 등을 완전히 정리하여 상태가 초기 시작만큼 깨끗해지는 스크립트입니다. 스크립트가 작동하지 않는 이유를 알고 있습니다. 테스트할 때마다 JMP를 완전히 다시 시작하고 싶지는 않습니다.
Re: 새로 시작된 프로그램과 일치하도록 모든 변수/네임스페이스/등의 JMP를 완전히 '정리'하는 스크립트당신이 겪고있는 오류는 무엇입니까?귀하의 로그를 살펴보고 응답에 포함시켜 주시겠습니까?