blob: c37754cf38a421e6d280ca9a0ced9c9afd140834 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
% CPSC-KEYWORD-FUNCTION(7)
# NAME
cpsc-keyword-function - define a function that returns a value
# SYNOPSIS
```text
FUNCTION name(parameters) RETURNS type
statements
RETURN expression
ENDFUNCTION
```
# DESCRIPTION
Call a function in an expression as `name(arguments)`. A call may precede its
top-level definition. RETURNS specifies the result type; omitting it defaults
to INTEGER. RETURN supplies a value of that type. Whole-array results are
unsupported.
Parameters use `name : type`, optionally prefixed by BYVAL. BYVAL is the
default; BYREF is forbidden for functions (guide section 8.3).
Array parameters accept `ARRAY OF type` (one dimension) or
`ARRAY[lower:upper, ...] OF type` (integer literal bounds).
BYVAL arrays are copied. RETURNS, RETURN, BYVAL, and ENDFUNCTION belong here.
# EXAMPLE
```text
FUNCTION Double(Value : INTEGER) RETURNS INTEGER
RETURN Value * 2
ENDFUNCTION
OUTPUT Double(4)
```
# SEE ALSO
[cpsc-language-overview(7)](cpsc-language-overview.7.md), [cpsc-keyword-procedure(7)](cpsc-keyword-procedure.7.md), [cpsc-keyword-call(7)](cpsc-keyword-call.7.md).
|