Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:Static/doc

From Mine in Abyss
Revision as of 12:49, 11 October 2024 by Scyu (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This is the documentation page for Module:Static

This is the documentation page. It is transcluded into Module:Static. See Template:Documentation for more information.

Usage[edit source]

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[edit source]

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/doc fr:Module:Static/doc pt:Módulo:Static/doc ru:Модуль:Статические данные/док zh:Module:Static/doc