In general , we can use quote in function like this .
we can see the outer variable test be changed.
Then we change the code like this :
It seems like will output nothing , because the variable was been unset and the new variable be set 'inner' was not in the outer space , but the correct result is it will output 'outer'.
There was another example to use global variable :
So I think , actully , the quote parameter in the function only pass a data address , like pointer in C language . With this result , we can go though the example below samplly :