ある名前空間の関数を別の名前空間で機能するように渡すすべて、
私は複数の名前空間を持つスクリプトを持っています - 簡単にするために、それらを名前空間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に渡したい場合はどうすればよいですか。
再:1つの名前空間の関数を別の名前空間で機能するように渡す @txnelson 、
名前空間はすでにスクリプト内に含まれているので、名前空間が同じスクリプト内で定義されている場合はそのようにして関数を呼び出すことができるとのコメントがあるまで、私は気付かなかった。
再:1つの名前空間の関数を別の名前空間で機能するように渡すすみませんが、私は問題を理解していません。 ソースコードがどこから来たのかは、名前空間に影響を与えません。 インクルードファイルの外観のサンプルを教えてください。
再:1つの名前空間の関数を別の名前空間で機能するように渡す @txnelson 、
私はおそらく問題の中でこれをもう少しよく説明したはずです。
Include(FilePathToNamespaceA);
Include(FilePathToNamespaceB);
私のスクリプトが名前空間が含まれているところでこのように見える場合、名前空間Bの関数で名前空間Aに属するIsLeapYearを呼び出すにはどうすればよいでしょうか。
再:1つの名前空間の関数を別の名前空間で機能するように渡す私はあなたが何をしているのか正確にはわかりませんが、このスクリプトはあなたが望むことをしていますか?
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))