模块:Static
此模块返回一个表,此表存储的数据可在多次{{#invoke:}}调用中读取。
示例
local p = {}
function p.main()
local static = require( 'Module:Static' )
static.x = ( static.x or 0 ) + 1
return static.x
end
return p
若Module:foo使用了上述代码,然后使用{{ #invoke: foo | main }} {{ #invoke: foo | main }},将返回1 2。
注意事项
由于此模块存储的值可以在页面范围内任意调用。为防止各模块间相互干扰,模块必须在自身命名空间(为一子表,见下文)下存储数据,且绝不能修改其他命名空间下的数据。
例如,在Module:Example中:
...
local static = require( 'Module:Static' )
if not static.Example then
static.Example = {}
end
static.Example.exampleData = 3
...
模块通过此模块存储的数据,必须置于与模块本身名称一致的子表中(模块名称首字母必须大写,且将空格替换为下划线)。这个子表应当在调用此模块后立即初始化。
如果希望存储全局数据,从而方便其他模块调用或存储,则命名空间应为_global。
若使用了全局变量,则必须在下方表格中注册:
| 变量名称 | 读取模块 | 写入模块 | 类型 | 备注 |
|---|

沪公网安备 31011002002714 号