Übergeben von Funktionen eines Namespaces an andere NamespacesAlles,
Ich habe ein Skript mit mehreren Namespaces - zur Vereinfachung nennen wir sie Namespace A und Namespace B.
Wenn ich eine Funktion von Namespace B anrufe und ich benötige
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);
);Verwendung einer Funktion aus Namespace A - wie kann dies erreicht werden? Wenn ich also im obigen Beispiel IsLeapYear an MyFun zur Auswertung übergeben wollte - wie kann ich das tun?
Re: Übergeben von Funktionen eines Namespaces an andere Namespaces @txnelson .
Ich habe nicht verstanden, bis ich Ihren Kommentar gesehen habe, da ich den Namespace bereits in das Script aufgenommen habe. Ich könnte die Funktion so aufrufen, wie ich es tun würde, wenn die Namespaces im selben Script definiert wären.
Re: Übergeben von Funktionen eines Namespaces an andere NamespacesEs tut mir leid, aber ich verstehe das Problem nicht. Woher der Quellcode stammt, wirkt sich nicht auf Namensräume aus. Können Sie uns ein Beispiel geben, wie die Include-Dateien aussehen?
Re: Übergeben von Funktionen eines Namespaces an andere Namespaces @txnelson .
Ich hätte das wahrscheinlich in der Frage etwas besser erklären sollen.
Include(FilePathToNamespaceA);
Include(FilePathToNamespaceB);
Wenn mein Skript so aussieht, wo Namespaces enthalten sind, wie rufe ich nun IsLeapYear auf, das zu Namespace A in einer Funktion von Namespace B gehört?
Re: Übergeben von Funktionen eines Namespaces an andere NamespacesIch bin nicht genau sicher, was Sie vorhaben, aber macht dieses Skript, was Sie wollen?
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))