Update 'Functions and Methods'
parent
3e2d5984bb
commit
09f0bfcde1
@ -1,15 +1,19 @@
|
|||||||
Functions are written like this:
|
# Syntax
|
||||||
|
|
||||||
```
|
```
|
||||||
func ro someFunction
|
func ro someFunction
|
||||||
|
@ reciever:SomeObject
|
||||||
> input:Int
|
> input:Int
|
||||||
< output:Int:mut
|
< output:Int:mut
|
||||||
---
|
---
|
||||||
somePhrase
|
somePhrase
|
||||||
```
|
```
|
||||||
|
|
||||||
The first part of the function's content is its inputs and outputs. A function
|
Function sections are divided in two. The first part can contain inputs, outputs, and a method reciever. Inputs are preceded by a '>', outputs are preceded by a '<', and the method reciever is preceded by a '@'. Function outputs can have default values, whether they be simple or complex.
|
||||||
may have any number of these, and they act as local variables. Function inputs
|
|
||||||
|
The latter part contains the actual code of the function, which is composed of [phrases](Phrases).
|
||||||
|
|
||||||
|
# Semantics
|
||||||
|
A function may have any number of inputs and outputs, and they act as local variables. Function inputs
|
||||||
must always be immutable, and function outputs must always be mutable.
|
must always be immutable, and function outputs must always be mutable.
|
||||||
|
|
||||||
The second part is the actual code of the function. It is separated from the
|
The second part is the actual code of the function. It is separated from the
|
||||||
@ -19,16 +23,7 @@ block of phrases.
|
|||||||
To return data from a function, its outputs must be set as you would a normal
|
To return data from a function, its outputs must be set as you would a normal
|
||||||
variable.
|
variable.
|
||||||
|
|
||||||
A function can be a method of an object if it lists the method receiver after
|
A function can be a method of an object if it lists the method receiver. If it doesn't, it is just a regular function
|
||||||
an @ symbol:
|
|
||||||
|
|
||||||
```
|
|
||||||
func ro setGreeting
|
|
||||||
@ greeter:{Greeter}
|
|
||||||
> greeting
|
|
||||||
---
|
|
||||||
set greeter.greeting greeting
|
|
||||||
```
|
|
||||||
|
|
||||||
Method receivers, like inputs, must be immutable. They also must be pointers.
|
Method receivers, like inputs, must be immutable. They also must be pointers.
|
||||||
It is important to note that if a pointer is immutable, the pointer cannot
|
It is important to note that if a pointer is immutable, the pointer cannot
|
||||||
|
Reference in New Issue
Block a user