Module:Static

From NeuroWiki
Revision as of 22:11, 31 October 2024 by Selfice (talk | contribs) (创建页面,内容为“-- Source: https://runescape.wiki/w/Module:Static local mwHtml = getmetatable( mw.html.create() ) mwHtml._static = mwHtml._static or {} return mwHtml._static”)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

此模块返回一个表,此表存储的数据可在多次-{}-{{#invoke:}}调用中读取。

示例

<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>

Module:foo使用了上述代码,然后使用{{ #invoke: foo | main }} {{ #invoke: foo | main }},将返回1 2

注意事项

由于此模块存储的值可以在页面范围内任意调用。为防止各模块间相互干扰,模块必须在自身命名空间(为一子表,见下文)下存储数据,且绝不能修改其他命名空间下的数据。

例如,在Module:Example中: <syntaxhighlight lang='lua'> ...

   local static = require( 'Module:Static' )
   if not static.Example then
       static.Example = {}
   end
   static.Example.exampleData = 3

... </syntaxhighlight>

模块通过此模块存储的数据,必须置于与模块本身名称一致的子表中(模块名称首字母必须大写,且将空格替换为下划线)。这个子表应当在调用此模块后立即初始化。

如果希望存储全局数据,从而方便其他模块调用或存储,则命名空间应为_global

若使用了全局变量,则必须在下方表格中注册:

变量名称 读取模块 写入模块 类型 备注

en:Module:Static



-- Source: https://runescape.wiki/w/Module:Static
local mwHtml = getmetatable( mw.html.create() )
mwHtml._static = mwHtml._static or {}
return mwHtml._static