Recital Functions
Contents
- 1 Recital Functions
- 1.1 What is a Recital Function
- 1.2 How to Write a Recital Function
- 1.3 Returning a Value from a Recital Function
- 1.4 Declaring Parameters in a Recital Function
- 1.5 Calling Recital Functions
- 1.6 Passing Parameters by Reference
- 1.7 Returning Values by Reference
- 1.8 Variable Scope
- 1.9 Built-in Functions
- 1.10 Extending with Functions Developed in C/C++
- 1.11 Summary
Recital Functions
What is a Recital Function
Recital User Defined Functions (UDFs) are blocks of reuseable code which can be used in expressions or as individual commands.
How to Write a Recital Function
The function command is used to declare a User Defined Function (UDF) and is terminated with an endfunc or return statement.
function <name as character>[(<parameters as list>)] [parameters <parameters as list>] [return <value as expression> | endfunc]
Returning a Value from a Recital Function
The return statement can optionally return a value.
Declaring Parameters in a Recital Function
A UDF can have a variable number of parameters passed to it. These are assigned to private variables in the the <parameter-list> declaration or parameters statement. The parameters() function can be used to determine how many actual parameters were specified.
Calling Recital Functions
Functions can be included in program files, as well as in procedure library files. The functions in a procedure library file are made known to the Recital process by using the set procedure command.
set procedure to [<filename as character> [ADDITIVE]]
Functions can be called like built-in functions: postfixing the name of the function with brackets containing any arguments, e.g.
myudf(m_var,"Hello World",123.45,{12/03/2010})
In this case, parameters are passed by value: a copy of the memory variable is passed to the module and the original memory variable is not accessible within the called module.
Alternatively, the function can be called using the do command and specifying the arguments in the with clause, e.g.
do myudf with m_var,"Hello World",123.45,{12/03/2010}
Passing Parameters by Reference
With do command, parameters are passed by reference by default: the called module is given the address of the memory variable so the memory variable itself can be altered.