模組:Static/doc

出自NeuroWiki
於 2024年10月31日 (四) 22:11 由 Selfice對話 | 貢獻 所做的修訂 (创建页面,内容为“{{documentation header}} <!-- 文档页面 --> 此模块返回一个表,此表存储的数据可在多次{{tcd|#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> 若<code>Module:foo</code>使用了上述代码,然后使用<code><nowiki>{{ #invoke: foo | main }} {{ #invok…”)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳至導覽 跳至搜尋

此頁面為 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

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

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