Custom function scope adjustments

Some adjustments made to the function scope documentation to make it easier for people to understand. This came up in Discord where some of us understood it but others did not and I think the way I changed it will make it a little cleaner
This commit is contained in:
JJ
2018-02-20 14:44:28 -05:00
committed by GitHub
parent ba6ed1f6b6
commit 6713dca1d6

View File

@ -864,10 +864,26 @@ The example above prints the following in its log::
**Note about variable scope in functions:** **Note about variable scope in functions:**
Functions can access "global" variables declared outside of the function's scope. However, they cannot change the value of any "global" variables. Functions can access "global" variables declared outside of the function's scope. However, they cannot change the value of any "global" variables.
Any changes to "global" variables will only be applied locally to the function. This also means that any variable that is first defined inside a Any changes to "global" variables will only be applied locally to the function.
function will NOT be accessible outside of the function.
For example, the following code:: The following example shows that any change to "global" variable inside a function only applies in the function's local scope::
function foo() {
i = 5;
return "foo";
}
i = 0;
print(i);
foo();
print(i);
Results in the following log::
0
0
Furthermore, this also means that any variable that is first defined inside a function will NOT be accessible outside of the function as shown in the following example::
function sum(values) { function sum(values) {
res = 0; res = 0;
@ -886,22 +902,7 @@ results in the following runtime error::
Args:[] Args:[]
variable res not defined variable res not defined
The following example shows that any change to "global" variable inside a function only applies in the function's local scope::
function foo() {
i = 5;
return "foo";
}
i = 0;
print(i);
foo();
print(i);
Results in the following log::
0
0
**Other Notes about creating your own functions:** **Other Notes about creating your own functions:**