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 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})
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}
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]]
Passing Parameters by Reference
Using the 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. Using function-calling syntax, parameters are passed by value by default: a copy of the memory variable is passed to the module and the original memory variable is not accessible within the called module. To pass a parameter by reference, the parameter should be preceded by an @ sign.
myudf(@m_var)