Wowpedia
Advertisement

The addon namespace is a private table shared between Lua files in the same addon.
It allows for addons to access data between files without exposing or polluting variables to the global environment.

addonName, addonTable = ...

Vararg

addonName 
string - The name of your addon as set in the TOC and folder name.
addonTable 
table - The shared addon table between the Lua files of an addon.

Example

This addon defines the "foo" key on the addon table in FileA.lua and accesses it in FileB.lua

  • Test.toc
## Interface: 90105
## Version: 1.0.0
## Title: Test

FileA.lua
FileB.lua
  • FileA.lua
local _, ns = ...
ns.foo = "Hello"
  • FileB.lua
local addonName, ns = ...
print(addonName, ns.foo) -- prints "Test" and "Hello"

Notes

You can also simply use a unique global variable across your files.

MyCoolAddon = {}
MyCoolAddon.value = 0

function MyCoolAddon:DoSomething()
	self.value = self.value + 1
end

Patch changes

References

Advertisement