模块:Randtext

来自维阿百科
霓虹灯鱼讨论 | 贡献2023年10月7日 (六) 00:03的版本 (创建页面,内容为“local getArgs = require('Module:Arguments').getArgs local p = {} function p._main(args) math.randomseed(os.time()) local args_count = 0 for k, v in pairs(args)…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

此模块/模板用于随机输出所给的几个内容之一。有名为{{随机文本}}的重定向模板。

用法

{{Randtext|内容1|内容2|内容3|...}}

可接受无限个参数。参数内容也可以包含代码等。

效果类似于使用#switch+{{Random}}(如下),但不需要手动指定参数个数。

{{#switch:{{Random|2}}|0=文本1|1=文本2|2=文本3}}

由于页面的缓存机制,生成的随机数有可能会在一定时间内不变。

示例

{{Randtext|萌娘百科|萌娘文库|萌娘共享|Moegirlpedia|{{lj|萌えっ娘百科事典}}}}

萌娘百科


local getArgs = require('Module:Arguments').getArgs
local p = {}

function p._main(args)
	math.randomseed(os.time())
	
	local args_count = 0
	for k, v in pairs(args) do
		args_count = args_count + 1
	end
	
	return args[math.random(args_count)]
end

function p.main(frame)
	local args = getArgs(frame, {wrappers = 'Template:Randtext'})
	return p._main(args)
end

return p