m
Move page script moved page API getglobal to WoW:API getglobal without leaving a redirect
No edit summary |
m (Move page script moved page API getglobal to WoW:API getglobal without leaving a redirect) |
||
| (3 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
{{wowapi}} | {{wowapi}} | ||
''Note: getglobal and [[API_setglobal|setglobal]] are deprecated and replaced with _G[]<ref>http://forums.worldofwarcraft.com/thread.html?topicId=25626580975&sid=1</ref>. Change all references of getglobal and setglobal:'' | |||
var = getglobal(varName) --getglobal deprecated | |||
var = _G[varName] --new syntax to get a global | |||
setglobal(otherName, otherVar) --setglobal deprecated | |||
_G[otherName] = otherVar --new syntax to set a global | |||
== Description == | |||
Get a global variable, from a string. | Get a global variable, from a string. | ||
local targetGlobal = getglobal("globalName") | local targetGlobal = getglobal("globalName") | ||
== Arguments == | |||
:("globalName") | :("globalName") | ||
:;globalName : String - Name of the global you want to get. | :;globalName : String - Name of the global you want to get. | ||
== Returns == | |||
:;The value from the given string, or nil if not found | :;The value from the given string, or nil if not found | ||
| Line 24: | Line 32: | ||
Function calls always cost some overhead, so if a large number of getglobal calls are being made, the global table will be a faster route. Note that for few or infrequent calls the performance gain of this method is negligible (but given the lack of any loss of functionality, recommended). | Function calls always cost some overhead, so if a large number of getglobal calls are being made, the global table will be a faster route. Note that for few or infrequent calls the performance gain of this method is negligible (but given the lack of any loss of functionality, recommended). | ||
''Note:'' Accessing the global table through the function getfenv() was common within addons presumably because the global '_G' (the direct global table) was hidden from the WoW environment. It seems to have since been uncovered, and now calling it directly for global access is possible: | ''Note:'' Accessing the global table through the function getfenv() was common within addons presumably because the global '[[Dump_G|_G]]' (the direct global table) was hidden from the WoW environment. It seems to have since been uncovered, and now calling it directly for global access is possible: | ||
local _G = _G -- a local speeds up access to _G slightly. negligible for infrequent calls. | local _G = _G -- a local speeds up access to [[Dump_G|_G]] slightly. negligible for infrequent calls. | ||
local prevval = _G["MyVariable"] ''-- "getglobal()"'' | local prevval = _G["MyVariable"] ''-- "getglobal()"'' | ||
_G["MyVariable"] = 1234 ''-- "setglobal()"'' | _G["MyVariable"] = 1234 ''-- "setglobal()"'' | ||