This version is out of date, covering development from v9.5.0 to v9.7.3. It is maintained here only for inbound reference links from elsewhere. It is no longer actively updated.

Jump to the current version of aTbRef

Tinderbox v9 Icon

Calling functions

Important note: all examples follow aTbRef naming conventions.

Calling functions from action code

Regardless of where stored, every function in the current document can be called from any action.

If a function has arguments, the caller must supply values for each argument, even if only as an empty string (or other default data-type value. Extra arguments are ignored. If a function is redefined, the most recent definition replaces any existing definitions.

If the called function returns a value, then the calling code needs to use an attribute or variable to receive that value.

Examples—with a return value

Calling a single literal value for an argument:

$MyNumber = fAddTax(500); 

Calling a function with a single argument:

$Text = fMakeTable($CategoryList); 

Calling a function with multiple arguments, that returns List-type data (see here for multi-value returns):

$MyList = fAlterList($CategoryList,$SomeString,"alternate"); 

A function with no arguments:

$MyNumber = fCheckSum(); 

Notice how in every case the function is called as the right side of an '=' (i.e. value assignment) operation so the return value can be stored and further used.

Example—with no return value

A function with no return value:


Note in this case that whilst no left-side recipient is needed but function parentheses must be included.

Can a function call another function?

Yes. A function can call itself. This is called 'self-reference', and is an advanced technique that should be used with caution and tested in a test document before use at scale. This process is also known as recursion.

Next: Variable use in functions