模組:Static/doc

出自NeuroWiki
跳至導覽 跳至搜尋

此頁面為 Module:Static 的說明文件

這是文檔頁面,它將被放置到Module:Static。查看Template:Documentation以獲取更多信息。

此模塊返回一個表,此表存儲的數據可在多次{{#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

若使用了全局變量,則必須在下方表格中註冊:

變量名稱 讀取模塊 寫入模塊 類型 備註