Skip to end of banner
Go to start of banner

Inclusions

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »


The include statement allows you to execute code and use UDRs  that are written in other SIL files. This can improve readability and make your code more manageable.

You can use the include statement to import entire libraries of UDRs.

Syntax

include "path/to/file.incl";


Include statements must be the first statements in your program, before the definition of UDRs.

For more information see  Structure Of A SIL Program.

 

The provided path may be relative or absolute. If relative, it is resolved relative to the defined 'sil.home' environment variable, usually the 'silprograms' directory.

Variable visibility

There are two categories of variables you can use in the included programs.

Local Variables

These are the variables you define in the body of the included program. These can be used throughout the included program, as well as in your SIL program which included the file.

file.incl
function increment(int x) {
  return x + 1;
}
number a = increment(0);
program.sil
include "file.incl"; //resolved relative to the 'sil.home'

number b = a + increment(2); //we can use the 'a' variable here!

Notice the use of variable a in the SIL program even though it was declared in the included file. Also notice the use of the increment()  UDR which was defined in the included file as well.

Global variables

These are the variables that are already defined and can be used right away (issue fields and customfields). You can use these anywhere in your code without having to declare them.

file.incl
function getKey() {
  return key;
}
  • No labels