치명적인 JMP16 버그이것은 질문이 아닙니다. JMP16으로 전환한 이후 최근 스크립트에서 발견한 문제에 대한 인식을 높이는 것입니다. 즉, 다음과 같이 가정하겠습니다. 네임스페이스( ... ) 삭제된 네임스페이스에 대해서는 실제 값을 반환하지 않지만 JMP16.2에서는 반환됩니다(JMP14.3에서는 반환되지 않음).
이로 인해 다음 스크립트가 JMP16.2와 충돌합니다.
ns = New Namespace();
ns:ns = New Namespace();
ns:ns << Delete Namespace();
Show( Is Namespace( ns:ns ) );
If( Is Namespace( ns:ns ),
ns:ns:__item__ = 4;
);
문제를 해결하려면 다음과 같이 스크립트를 수정해야 했습니다.
ns = New Namespace();
ns:ns = New Namespace();
ns:ns << Delete Namespace();
Show( Is Namespace( ns:ns ) );
If( Is Namespace( ns:ns ) & !Is Missing( ns:ns << Get Name ),
ns:ns:__item__ = 4;
);
자동화 및 스크립팅Re: 치명적인 JMP16 버그여기에 업데이트가 있나요?
후보 같은데. Jmp와 JSL의 작은 함정 ...
Re: 치명적인 JMP16 버그사실 방금 왜 그랬는지 기억났어요. 네임스페이스 존재 변수의 값을 보고 그 값이 네임스페이스를 나타낼 수 있는지 여부를 알려줄 것입니다. 네임스페이스임 변수가 직접 네임스페이스 참조인지 아니면 네임스페이스 참조인지 알려주어야 합니다.
이로 인해 이 코드는 실패합니다.
ns = New Namespace( "test ns" );
ns:item = "variable";
ns name = "test ns";
If( Namespace Exists( ns name ),
Show( ns name:item )
);
반면에 다음은 그렇지 않습니다.
ns = New Namespace( "test ns" );
ns:item = "variable";
ns name = "test ns";
If( Is Namespace( ns name ),
Show( ns name:item )
);
Re: 치명적인 JMP16 버그하하, 제가 당신의 게시물을 자세히 읽지 않았습니다!이것이 작동하는 것 같다는 말씀이 맞습니다. 하지만 지금은 그 이유가 기억나지 않지만 어떤 이유에서인지 코드에서 이 방법을 사용하지 않았다는 막연한 느낌이 듭니다.
Re: 치명적인 JMP16 버그나는 Namespace Exists()를 의미했는데 Is Namespace와 다른 것 같습니다(또는 여기에 뭔가가 빠졌을 수도 있습니다).
Names Default To Here(1);
Clear Log();
Delete Namespaces();
ns = New Namespace();
ns:ns = New Namespace();
Show(Namespace Exists(ns:ns), Is Namespace(ns:ns));
ns:ns << Delete Namespace();
Show(Namespace Exists(ns:ns), Is Namespace(ns:ns));
/*Namespace Exists(ns:ns) = 1;
Is Namespace(ns:ns) = 1;
Namespace Exists(ns:ns) = 0;
Is Namespace(ns:ns) = 1;*/
Re: 치명적인 JMP16 버그@jthi , 이는 기본 네임스페이스에 대해 수행되지만 다음과 같이 범위가 지정된 네임스페이스를 제공할 때는 그렇지 않습니다.
ns = New Namespace();
ns:ns = New Namespace();
ns:ns << Delete Namespace();
Show( Is Namespace( ns:ns ) );
Re: 치명적인 JMP16 버그이 정보를 제공해 주셔서 대단히 감사합니다. JMP 개발자는 귀하가 발견한 문제를 조사하고 기록하여 향후 릴리스에서 수정할 수 있도록 했습니다!
Re: 치명적인 JMP16 버그찾아주셔서 감사합니다. 저는 이를 재현할 수 있었고 조사를 위해 JMP 지원팀에 보고서를 제출했습니다.
단
JMP 제품 관리.
Re: 치명적인 JMP16 버그좋은 캐치! 다음 17베타가 너무 늦지 않았으면 좋겠습니다.
Re: 치명적인 JMP16 버그Namespace Exists()는 삭제된 네임스페이스에 대해 0을 반환하는 것 같습니다.
Re: 치명적인 JMP16 버그네, 오늘도 신고했어요.여기에 모든 업데이트를 게시하겠습니다. 하지만 팀에서는 이미 문제를 알고 있을 것으로 가정합니다.
Re: 치명적인 JMP16 버그이 내용이 JMP 지원팀에 보고되었습니까?