Variables
Variables are a way to store data for later access or modification. Variables are only accessible inside of the scope they were defined in.
define main(){
my_var = "foo"; // type-inference makes this variable a string
my_var = 9; // will throw an error, we already declared that my_var is a string
println(my_var);
}
explicit type definition
define main(){
my_var: string = "foo";
my_var2: i32 = "bar"; // will throw an error, the value is of the wrong type.
println(my_var);
}
assignment operators
This is a list of all the different types of assignment.
symbol |
description |
|---|---|
+= |
addition assignment |
-= |
subtraction assignment |
*= |
multiplication assignment |
/= |
division assignment |
= |
normal assignment |
Scope
The best way to explain variable scope is by example
define main() { // scope 1
foo = 12; // defined in scope 1
{ // scope 2
bar = 15; // defined in scope 2
println(foo); // no issues since scope 2 is *inside* scope 1
}
println(bar); // throws a compile time error
}