Skip to content
Snippets Groups Projects
Verified Commit 9021a74e authored by jD91mZM2's avatar jD91mZM2
Browse files

Manual: Mention behavior of scopes and functions

parent b9a10798
No related branches found
No related tags found
2 merge requests!801Re-implement scopes,!798Manual: Mention behavior of scopes and functions
...@@ -23,6 +23,27 @@ if test 1 == 1 ...@@ -23,6 +23,27 @@ if test 1 == 1
# end of scope, y is deleted since it's owned by it # end of scope, y is deleted since it's owned by it
end end
echo "$x" # prints 2 echo $x # prints 2
echo "$y" # prints nothing, y is deleted already echo $y # prints nothing, y is deleted already
```
## Functions
Functions have the scope they were defined in.
This ensures they don't use any unintended local variables that only work in some cases.
Once again, this matches the behavior of most other languages, apart from perhaps LOLCODE.
```ion
let x = 5 # defines x
fn print_vars
echo $x # prints 2 because it was updated before the function was called
echo $y # prints nothing, y is owned by another scope
end
if test 1 == 1
let x = 2 # updates existing x
let y = 3 # defines y
print_vars
end
``` ```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment