한 네임 스페이스의 함수를 다른 네임 스페이스에서 작동하도록 전달모든,
나는 여러 개의 네임 스페이스를 가진 스크립트를 가지고있다 - 간단하게하기 위해 네임 스페이스 A와 네임 스페이스 B라고 부르기로하자.
네임 스페이스 B에서 함수를 호출하면
Test1 = Namespace("A");
Test1:IsLeapYear = function({Input_Year},{Default Local},
If(Is String(Input_Year),
Input_Year = Num(Input_Year);
);
If( (Mod(Input_Year,400) == 0 | (Mod(Input_Year,4) == 0 & Mod(Input_Year,100)!= 0)),
return(1);
,
return(0);
);
);
Test2 = Namespace("B");
Test2:MyFun = function({dt_In,TableVarName,Value},{Default Local},
dt_In << New Table Variable(TableVarName,Value);
);네임 스페이스 A의 함수를 사용하는 방법 -이 방법을 어떻게 얻을 수 있습니까? 위의 예에서 MyFun에 IsLeapYear를 전달하여 평가에 사용하려면 어떻게해야합니까?
Re : 한 네임 스페이스의 함수를 다른 네임 스페이스의 함수에 전달 @txnelson ,
네임 스페이스가 이미 스크립트 내에 포함되어 있기 때문에 네임 스페이스가 동일한 스크립트에서 정의 된 경우 함수를 호출 할 수 있다고 귀하의 의견을 알기 전 까진 실감하지 못했습니다.
Re : 한 네임 스페이스의 함수를 다른 네임 스페이스의 함수에 전달미안하지만 그 문제를 이해하지 못합니다. 소스 코드의 출처가 이름 공간에 영향을 미치지 않습니다. include 파일의 샘플을 제공 할 수 있습니까?
Re : 한 네임 스페이스의 함수를 다른 네임 스페이스의 함수에 전달 @txnelson ,
아마도이 질문에 대해 조금 더 잘 설명 했어야합니다.
Include(FilePathToNamespaceA);
Include(FilePathToNamespaceB);
내 스크립트가 네임 스페이스가 포함 된 곳을 좋아한다면, 네임 스페이스 B의 함수에서 네임 스페이스 A에 속한 IsLeapYear를 어떻게 호출합니까?
Re : 한 네임 스페이스의 함수를 다른 네임 스페이스의 함수에 전달나는 당신이 뭘하려고하는지 정확히 모르겠지만,이 스크립트는 당신이 원하는 것을하고 있습니까?
names default to here(1);
Test1=New Namespace("A");
Test2=New Namespace("B");
Test1:IsLeapYear = Function( {Input_Year},
{Default Local},
If( Is String( Input_Year ),
Input_Year = Num( Input_Year )
);
If(
(Mod( Input_Year, 400 ) == 0 | (Mod( Input_Year, 4 ) == 0 & Mod( Input_Year, 100 ) != 0)
),
Return( 1 ),
Return( 0 )
);
);
Test2:MyFun = Function( {date},
{Default Local},
Return=Test1:IsLeapYear(date)
);
show(Test2:MyFun(1960))