기본 제공 네임 스페이스 사용, 이름 기본값은 여기, 함수 지역 변수안녕하세요, 모듈 스크립트의 네임 스페이스와 해당 스크립트 내의 함수에 대한 질문이 있습니다.
내가 알기로 Names Default to Here ()가 참인 변수는 "here"네임 스페이스에 할당됩니다. 내가 확실하지 않은 것은 해당 네임 스페이스의 범위입니다. "여기"는 항상 전체 스크립트 (예 : 모듈 내)로 범위가 지정됩니까? 아니면 스크립트 내의 개별 함수에 로컬 변수를 만들 수도 있습니까? 함수 내에서 지역 변수를 만드는 올바른 방법은 무엇입니까? 각 함수에 정의 된 변수가 전체 스크립트가 아닌 해당 함수에만 국한되는 방법이 있습니까? 제가 상상하는 것은 아래와 같습니다.
//Script to define different scopes of variables<BR />Names Default to Here(1); //set variables to be scoped to this script by default<BR />a = 1;<BR />b = 2;<BR /><BR />Function1 = Function({},<BR /> Names Default to Here(1);<BR /> c = 3;<BR />);<BR /><BR />Function2 = Function({},<BR /> Names Default to Here(1);<BR /> d = 4;<BR />);뿡뿡 뿡뿡
Re : 내장 네임 스페이스 사용, Names Default to Here, 함수 지역 변수형식에 대해 죄송합니다.
//Script to define different scopes of variables
Names Default to Here(1); //set variables to be scoped to this script by default
a = 1;
b = 2;
Function1 = Function({},
Names Default to Here(1); //set variables set in Function1 to be scoped only to Function1
c = 3;
);
Function2 = Function({},
Names Default to Here(1); //set variables set in Function2 to be scoped only to Function2
d = 4;
);Re : 내장 네임 스페이스 사용, Names Default to Here, 함수 지역 변수Names Default To Here (1)은 해당 기간 동안 사용 / 생성 된 모든 비정규 기호를 의미합니다. 제출 (스크립트 실행)은 동일한 Here 네임 스페이스에 있습니다. 따라서 단일 JSL 파일보다 더 광범위합니다. 따라서 A.jsl에 B.jsl이 포함되어 있고 Names Default To Here가 활성화 된 경우 A와 B가 만든 심볼은 모두 동일한 Here 네임 스페이스에서 사용할 수 있습니다.
함수 지역의 경우 지역 목록을 사용해야합니다.
/* Default Local */
slow identity = Function({x}, {Default Local},
x squared = x*x; // unqualified name x squared is defaulted to function local
Sqrt(x squared)
);
/* Or list them explicitly */
slow identity = Function({x}, {x squared},
x squared = x*x; // local because we declared it above
Sqrt(x squared)
);
/* Or qualify them */
slow identity = Function({x},
local:x squared = x*x; // qualify to local explicitly
Sqrt(x squared)
);Re : 내장 네임 스페이스 사용, 여기에 기본 이름, 함수 지역 변수알았다! '제출 당'언어는 매우 유용합니다.
후속 조치로 App Builder에서 다른 모듈을 실행할 때 .jmpapp를 시작할 때 각 모듈의 스크립트가 포함됩니까? 아니면 각 모듈에 대한 스크립트가 실제로 << 인스턴스 생성시 별도로 제출되어 각 모듈에 고유 한 Here 네임 스페이스가 있습니까?
요컨대, jmpapp를 사용할 때 일반적으로 여기에서 각 모듈을 참조합니까, 아니면 전체 앱을 참조합니까?