Comment on page

func

The function class for Cheddar

Arguments:

name
type
description
arguments
2D array
(described below) this matrix described the arguments for the function. In the form of [ ["arg_name", { <options> }] ]
body
function
(described below) the function body

arguments matrix:

name
type
default
description
Type
cheddar.class
n/a
If provided, the argument is required to be of the given type
Default
cheddar.class{}
n/a
If provided and the argument is not provided, it will be set to this rather than throwing an error.
Splat
bool
false
If provided, this and the following arguments will be combined into a cheddar.array object.
Optional
bool
false
If true, the argument will be nil if not provided

function body:

argument
description
first
This is the function's scope as a cheddar.scope.
second
This is a function which returns a variable's value, given a variable name.

Usage:

-> (a, b = 0) a + b, with api:
new cheddar.func(
[
["a", {}],
["b", {
Default: cheddar.init(
cheddar.number,
10, 0, 0
)
}]
],
function(scope, input) {
return cheddar.init(
cheddar.number,
10, 0,
input("a").value + input("b").value
);
}
)

Internal Usage

Execution:

func.exec([
arg1, arg2, ...
], scope)
scope will be set to self variable, if none, set to null.

Arguments:

func.args
the 2D matrix representing the arguments the function is requesting.
Last modified 3yr ago