The fn
, ->
, & return
Keywords
04 / 09 / 25
Objective
The objectives of the fn, ->, and return keywords are to add rich function support to KSL.
Dictionary
fn
- Keyword used to denote the start of a function.
->
- Keyword used to denote the return type/derivative of a function.
return
- Keyword used to return a value from a function.
Examples
The fn keyword followed by a single identifier and parenthesis defines a basic
function. Functions also need a defined return type, which can be set using the
derive keyword (->
.) Once you're done in your function body you can include
a return
keyword to return a value. It's expected that the returned value
matches the type defined after derive
. Technically speaking, the return keyword
is optional, KSL will insert one for you automatically if it doesn't see one.
fn main(int a) -> float {
return 10.0;
}
In the example above we can see a function defined, this function has the name
main
, it takes one integer parameter called a
, and it returns a float. This
function has the return
statement defined in it's function body.
Functions can have multiple parameters separated by a comma. They cannot have multiple return types though.
fn main(int a, int b) -> int {
return a + b;
}