Använda JS include-sats

Det är enkelt att inkludera en skriptfil i en annan med RKWard insticksprogram. Värden av det är omedelbart uppenbart om vissa delar av JS-koden är likadan mellan insticksprogram. Det går helt enkelt att definiera sådana delar i en separat .js-fil och inkludera den i alla insticksprograms .js-filer. Exempelvis så här:

// det här är en fil som heter "common_functions.js"

function doCommonStuff () {
        // kanske hämta några alternativ, etc.
        // ...
        comment ("This is R code you want in several different plugins\n");
        // ...
}
        
// det här är en av de vanliga .js filerna i ett insticksprogram

// inkludera common functions
include ("common_functions.js");

function calculate () {
        // gör någonting
        // ...

        // infoga den gemensamma koden
        doCommonStuff ();
}
        

Observera att det ibland är ännu mer användbart att vända på det, och definiera mallar av funktionerna preprocess(), calculate() och printout() i en gemensam fil, och låta dem anropa tillbaka för delarna som är olika mellan insticksprogram. Exempelvis:

// det här är en fil som heter "common_functions.js"

function calculate () {
        // gör någonting som är samma i alla insticksprogram
        // ...

        // lägg till något som är olika mellan insticksprogram
        getSpecifics ();

        // ...
}
        
// det här är en av de vanliga .js filerna i ett insticksprogram

// inkludera common functions
include ("common_functions.js");

// observera: funktionen calculate() definieras inte här.
// den finns istället i common_functions.js.

function getSpecifics () {
        // skriv ut någon R-kod
}
        

Ett problem som man måste vara medveten om när tekniken används är variabelräckvidd. Se JS-manualen om variabelräckvidd (variable scope).

Tekniken används flitigt i insticksprogrammen för fördelningsdiagram (distribution plot) och CLT-fördelningsdiagram (distribution CLT plot), så det kan vara värt att titta där för exempel.