Problema
Tiene JSL que se puede usar en más de un proyecto, con cambios menores, y desea mantener una copia para que sea más fácil de mantener.
Solución
Use un archivo separado e inclúyalo en un programa principal. Use espacios de nombres para mantener las variables aisladas de otros módulos. Construye los espacios de nombres para que el programa principal pueda agregar personalizaciones.
// "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 );
Discusión
Es posible que desee agregar un ejemplo: init (parámetros) Función a la que llama después de la inclusión para hacer una configuración de tiempo. O, si no hay parámetros, puede hacer la configuración de una sola vez en el archivo example.jsl.
Ver también
El índice de secuencias de comandos describe varios parámetros adicionales.