模組:Rand
外观
randitem
[编辑]該函數的本意是從一個列表中隨機挑取一句話。默認情況下,請使用「*」作為列表的分隔符,例如:
{{ #invoke:rand | randitem | *1 *2 *3 }}
另外也可以自己指定分隔符(注意第二個參數不要塞入空格),例如:
{{ #invoke:rand | randitem | 1,2,3,4,5,6 |,}}
為了便於編輯,可建立單獨的用戶頁,然後通過{{}}來引用,例如:
{{ #invoke:rand | randitem | {{User:逆襲的天邪鬼/Notices}} }}
當然,這樣做的話,請把無關內容用<noinclude>...</noinclude>包上,除非你想搞得一塌糊塗。
local func = {}
function func.randitem( frame )
local text = frame.args[1]
local list = mw.text.split(text, frame.args[2] or '[\n\r]%s*%*%s*')
math.randomseed(os.time())
local n = #list
local r = 0
if mw.text.trim(list[1]) == '' then
r = math.random(n - 1) + 1
else
r = math.random(n)
end
return mw.text.trim(list[r])
end
return func