Problem
Sie haben JSL, das in mehreren Projekten mit geringfügigen Änderungen verwendet werden kann, und Sie möchten eine Kopie behalten, um die Wartung zu erleichtern.
Lösung
Verwenden Sie eine separate Datei und fügen Sie sie in ein Hauptprogramm ein. Verwenden Sie Namespaces, um Variablen von anderen Modulen isoliert zu halten. Erstellen Sie die Namespaces, damit das Hauptprogramm Anpassungen hinzufügen kann.
// "example.jsl" reusable, extensible module
example = New Namespace( "example" ); // namespace to hold the reusable code
example:aaa = 1; // a variable in the namespace
// this represents the extensible part of the module
example:uuu = Function( {p}, Return( p ) ); // no transform by default
// this represents the reusable part of the module
example:fff = Function( {p}, // do something amazing
example:aaa += 1;
Return( example:uuu( p ) * example:aaa );
);
// "mainprog.jsl" uses the example code, and extends it
Include( "example.jsl" );
// this function replaces the default
example:uuu = Function( {p},
Return( Sqrt( p ) )
);
// use the amazing code from the package
p = example:fff( 16 );
q = example:fff( 9 );
r = example:fff( 4 );
Show( p, q, r );
Diskussion
Vielleicht möchten Sie eine hinzufügen Beispiel: init (Parameter) Funktion, die Sie nach dem Include aufrufen, um eine einmalige Einrichtung durchzuführen. Wenn keine Parameter vorhanden sind, können Sie die einmalige Einrichtung in der Datei example.jsl vornehmen.
Siehe auch
Der Skriptindex beschreibt mehrere zusätzliche Parameter.