도구 모음에서 JSL 실행아래 코드는 스크립트 wondow에서 작동하며 기본적으로 열 수식을 변경하는 3 가지 방법입니다.
커스텀 JMP 툴바에서 같은 코드를 실행하면 :: dt : helloworld << set formula ( "5");
왜 이런거야? 그 행동이 동일하지 않아야합니까?
open("$SAMPLE_DATA/Amplitude 100.jmp");
dt = datatable("amplitude 100");
obj = new column("helloworld");
:helloworld << set formula("3");
dt :helloworld << set formula ("4");
::dt:helloworld << set formula ("5");
caption("Hello World");
재 : 툴바에서 JSL 실행하기오류라고 판단되면 나타나게됩니다. 그러나 문제가 코드가 작동하지 않는다고 가정 할 때 세션에서 이전에 정의한 전역 변수가 코드에서 계속 발견되어 스크립트가 예상대로 수행되지 않습니다.재 : 툴바에서 JSL 실행하기로그에 전역 오류가 표시되지 않는다고 말씀 하시겠습니까?재 : 툴바에서 JSL 실행하기몇 가지 문제가 있습니다. 첫 번째는 다른 스크립트 등의 영향을받지 않도록 코드를 분리해야한다는 것입니다. 실행중인.
기본 이름은 여기에 있습니다 (1);
것을 수행.
둘째, 불완전한 참조를 만들고 있었고, 그 값이 전역 메모리 공간에 있었고이를 제거하지 않았기 때문에 오류를 보지 않고 있었을 것입니다.
셋째, 코드의 맥락에서,
obj <SPAN class="token operator">=</SPAN> <SPAN class="token function">new column</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token string">"helloworld"</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
OBJ가 코드에서 정의되지 않았으므로 참조가 없습니다.
아래 코드는 내 시스템에서 작동합니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Amplitude 100.jmp" );
dt << New Column( "helloworld", character, set each value( "5" ) );
Caption( "Hello World" );