模组: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