More actions
minecraft>Anterdc99 mNo edit summary |
m 1 revision imported |
(No difference)
|
Latest revision as of 12:47, 11 October 2024
Usage
This module returns a table that can store data that persists in between multiple {{#Invoke:}}
calls.
Example: <syntaxhighlight lang='lua'> local p = {}
function p.main()
local static = require( 'Module:Static' ) static.x = ( static.x or 0 ) + 1 return static.x
end
return p </syntaxhighlight>
If the above code sample was stored in Module:foo
and then {{#Invoke:foo|main}} {{#Invoke:foo|main}}
would result in 1 2
.
Dev spec
Because data stored through this module can be invoked by any modules used in the same page. To avoid being interfered with by other modules, a module MUST store data in their own namespace (a sub-table, see below), and NEVER modify data in other namespace.
For example, in "Module:Example": <syntaxhighlight lang='lua'> ...
local static = require( 'Module:Static' ) if not static.Example then static.Example = {} end static.Example.exampleData = 3
... </syntaxhighlight>
Data stored by a module, must be stored in a sub-table with the same name of that module (capitalize the first letter, and all spaces replaced with underscores). This sub-table should being initialized immediately after the invocation of this module. es:Módulo:Static fr:Module:Static pt:Módulo:Static ru:Модуль:Статические данные zh:Module:Static
-- Source: https://runescape.wiki/w/Module:Static
local mwHtml = getmetatable( mw.html.create() )
mwHtml._static = mwHtml._static or {}
return mwHtml._static