模組:Static/doc
跳至導覽
跳至搜尋
此頁面為 Module:Static 的說明文件
此模塊返回一個表,此表存儲的數據可在多次{{#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
。
若使用了全局變量,則必須在下方表格中註冊:
變量名稱 | 讀取模塊 | 寫入模塊 | 類型 | 備註 |
---|