저는 Python을 JMP JSL(버전 17.2)에 통합하고 싶었습니다. 복잡한 중첩 작업을 해야 하는데 간단한 작업도 할 수 없는 것 같습니다. Python Submit용 스크립팅 인덱스는 Python이 변수를 생성한 다음 Python Get을 사용하여 JSL로 가져오는 것을 보여줍니다.
//scripting index code
Names Default To Here( 1 );
Python Init();
Python Submit( "\[
str = 'The quick brown fox jumps over the lazy dog';
a = 200;
]\");
getStr = Python Get( str );
getNum = Python Get( a );
Show( getStr, getNum);
Python Term();
나는 이와 같은 간단한 것부터 시작하여 더 발전된 것으로 나아가기를 바랐습니다.
Python Submit("\[
for i in range(10):;
if i == 6:;
print(i);
]\");나는 터미널이 6만을 인쇄할 것으로 예상했지만 스크립트를 실행한 후 결과는 약간 이상했습니다.
//Terminal Output<BR />/**********/<BR /><BR />for i in range(10):;<BR />if i == 6:;<BR />print(i);<BR />/**********/
나는 좀 더 테스트를 해본 결과 몇 가지가 작동한다는 것을 알게 되었습니다. 하지만 여전히 중첩 루프를 작동시킬 수 없습니다.
//Code that seemingly works
Python Submit("print('Hello World')");
Python Submit("for i in range(10): print(i); print(i);");
//Code that doesn't work for some reason
Python Submit("for i in range(10):; if i == 6; print(i)");
Python Submit("for i in range(10): if i == 6: print(i)");<BR />Python Submit("for i in range(10): if i == 6:; print(i););누구든지 조언이 있다면 대단히 감사하겠습니다.
다음은 제가 찾은 Python에 대한 JMP 17 인터페이스의 제출 구조입니다.
Names Default To Here( 1 );
Python Init();
Python Submit("\[
for i in range(11):
if i == 6:
print(i)
print(i)
]\");
Python Submit("i=6
if i == 6: print(i); print('i is 6')
");JMP18로 업데이트할 수 있다면 JMP에서 Python을 처리하는 새로운 방식으로 인해 발생할 수 있는 많은 어려움으로부터 벗어날 수 있습니다.
필요한 들여쓰기를 간과한 것 같습니다.
Python Submit("\[
for i in range(10):
if i == 6:
print(i)
]\"); //6 (then 0 when Python is successfully terminated)jmp에서 들여쓰기가 그렇게 큰 영향을 미치는지 몰랐습니다. 도와 주셔서 감사합니다!
JMP에는 영향을 미치지 않지만 Python에는 영향을 미칩니다(JSL이 아닌 Python 코드를 실행하고 있음).