안녕하세요 여러분,
SQL에서 가져와서 다음과 같이 데이터 테이블을 생성하는 스크립트를 만들었습니다.
Names Default To Here( 1 );
dtFROMSQL = Execute SQL(
databaseConnectionHandle,
"SELECT HEIGHT, WEIGHT FROM Bigclass",
"NewTable"
);<BR />Include(filepathforsecondscript.jsl);
그런 다음 내 개인 폴더에 데이터 테이블에 열을 추가하는 또 다른 스크립트가 있습니다.
Current Data Table( dtFROMSQL );
dt << New Column( "X", Formula( Random Uniform() ) );
첫 번째 스크립트에서 Include 함수를 사용하여 두 번째 스크립트를 실행합니다.
내 문제는 그것을 실행하려고 할 때 두 번째 스크립트가 첫 번째 스크립트에서 생성된 데이터 테이블을 감지하지 못하고 다음과 같은 오류가 발생한다는 것입니다.
이름이 확인되지 않음: 'dt' 액세스 또는 평가에서 dt, dt/*###*/
두 번째 스크립트가 첫 번째 스크립트에서 생성된 데이터 테이블을 감지하도록 하는 방법이 있습니까?
하고 있기 때문이 아닌가
dt << New Column( "X", Formula( Random Uniform() ) );
대신에
dtFROMSQL << New Column( "X", Formula( Random Uniform() ) );
dt는 상위 스크립트에 존재하지 않습니다.
첫 번째 스크립트는 모든 변수가 해당 스크립트에만 로컬인 Here 공간에 있다고 선언합니다. 두 번째 스크립트는 이름이 같은 변수를 사용하지만 동일한 변수가 아닙니다. 같은 이름의 전역 변수이거나 두 번째 스크립트의 Here 이름 공간에 정의된 다른 변수입니다.
또한 현재 데이터 테이블을 정의하지만 변수 dt에 저장된 값은 정의하지 않습니다.