Update 'Variable Definition'
parent
1d3901130c
commit
f76de30db1
33
Variable-Definition.md
Normal file
33
Variable-Definition.md
Normal file
@ -0,0 +1,33 @@
|
||||
In ARF, global variables are defined using data sections. However, local variables are defined whenever there is a declaration. Declarations consist of a variable name, a colon, and a type specifier.
|
||||
|
||||
```
|
||||
x:Int
|
||||
|
||||
x:Int:<5>
|
||||
|
||||
x:Obj:(
|
||||
.pv this:Int
|
||||
.pv that:Int)
|
||||
```
|
||||
|
||||
Everything follows a pattern of definition -> instantiation. Variables are defined by defining their type and initial value using a type specifier, and they are instantiated at that point in the code. Wheverever in a phrase a variable can be used, it can be defined.
|
||||
|
||||
It is very useful to define a variable's value based on the return value from a function call. For this purpose, [return direction](Return-Direction) is used.
|
||||
|
||||
To define a variable normally, a `let` phrase is used.
|
||||
|
||||
```
|
||||
let x:Int:<5>
|
||||
```
|
||||
|
||||
Multiple variables may be defined in a single `let` phrase.
|
||||
|
||||
```
|
||||
let x:Int y:Int z:Int
|
||||
```
|
||||
|
||||
You can even define a variable as an argument to a function.
|
||||
|
||||
```
|
||||
file.read buffer:Byte:16 -> amountRead:Size error:Error
|
||||
```
|
Reference in New Issue
Block a user