Local Scoping
About Variables
In osl all variables are global scope and to use locally scoped variables you must use the keyword local
Where can I use local
?
local
?You can local scope inside of any function context
How does local
work?
local
work?The local keyword creates a key on an json object that's unique to the current context/scope that's accessible using the this keyword
local key = "1234"
log this
// returns {"key":"1234"}
this
has a different value depending on the scope of when you access it
Local variables can be re-assigned without the local keyword
def myFunc() (
local v = 0
v ++
return v
)
log myFunc()
// returns 1
Example script
def "test_cmd" (
local hello = "Greetings!"
log hello
// logs "Greetings!"
hello ++= " I'm Mistium"
log hello
// logs "Greetings! I'm Mistium"
)
local hello = "hello world"
test_cmd
log hello
// logs "hello world"
If a local variable and a global variable exist with the same name, it will access the local variable first.
Last updated
Was this helpful?