將一個命名空間的函數傳遞給不同命名空間中的函數所有,
我有一個具有多個命名空間的腳本 - 為簡單起見,我們稱之為命名空間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中的函數 - 如何實現?因此,在上面的例子中,如果我想將IsLeapYear傳遞給MyFun用於評估 - 我該怎麼做?
Re:將一個命名空間的函數傳遞給不同命名空間中的函數 @txnelson ,
我沒有意識到,直到我看到你的評論,因為命名空間已經包含在腳本中,如果在同一個腳本中定義了命名空間,我可以按照我的方式調用該函數。
Re:將一個命名空間的函數傳遞給不同命名空間中的函數對不起,我不明白這個問題。 源代碼來自哪裡不會影響名稱空間。 你能提供一下包含文件的樣本嗎?
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))