Difference between revisions of "Setfenv"
From GiderosMobile
| (5 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
| − | + | '''Available since:''' Gideros 2011.6<br/> | |
| − | ''' | + | '''Class:''' [[(global)]]<br/> |
| − | ''' | ||
| − | === | + | === Description === |
| − | + | Sets the environment to be used by the given function. | |
| + | <syntaxhighlight lang="lua"> | ||
| + | (varies) = setfenv(f,table) | ||
| + | </syntaxhighlight> | ||
| − | As a special case, when f is 0 setfenv changes the environment of the running thread. In this case, setfenv returns no values.</ | + | ''f'' can be a Lua function or a number that specifies the function at that stack level: Level 1 is the function calling ''setfenv''. ''setfenv'' returns the given function. |
| − | < | + | |
| − | (varies) | + | As a special case, when f is 0 ''setfenv'' changes the environment of the running thread. In this case, ''setfenv'' returns no values. |
| − | </ | + | |
| + | === Parameters === | ||
| + | '''f''': (varies) function or number(call stack level)<br/> | ||
| + | '''table''': (table) environment table to set<br/> | ||
| + | |||
| + | === Return values === | ||
| + | '''Returns''' (varies) returns provided function or nil<br/> | ||
| − | === < | + | === Example === |
| − | + | <syntaxhighlight lang="lua"> | |
| − | + | a = 1 -- create a global variable | |
| + | -- change current environment | ||
| + | setfenv(1, {_G = _G}) | ||
| + | _G.print(a) --> nil | ||
| + | _G.print(_G.a) --> 1 | ||
| + | </syntaxhighlight> | ||
| − | === | + | === See also === |
| − | '''< | + | '''https://luau.org/library#global-functions'''<br/> |
| + | '''https://www.lua.org/pil/14.3.html'''<br/> | ||
| + | '''[[setsafeenv]]''' | ||
{{(global)}} | {{(global)}} | ||
Latest revision as of 11:08, 21 July 2025
Available since: Gideros 2011.6
Class: (global)
Description
Sets the environment to be used by the given function.
(varies) = setfenv(f,table)
f can be a Lua function or a number that specifies the function at that stack level: Level 1 is the function calling setfenv. setfenv returns the given function.
As a special case, when f is 0 setfenv changes the environment of the running thread. In this case, setfenv returns no values.
Parameters
f: (varies) function or number(call stack level)
table: (table) environment table to set
Return values
Returns (varies) returns provided function or nil
Example
a = 1 -- create a global variable
-- change current environment
setfenv(1, {_G = _G})
_G.print(a) --> nil
_G.print(_G.a) --> 1
See also
https://luau.org/library#global-functions
https://www.lua.org/pil/14.3.html
setsafeenv