“Module:Str test”的版本间差异

来自BanG Dream! Wiki
跳到导航 跳到搜索
(创建页面,内容为“local module = {} function module.main(frame) local args = frame.args local str = args[1] local ptn = mw.text.decode(mw.text.unstripNoWiki(args[2])) if mw.ustring.find(str, ptn) == nil then return '' else return 1 end end function module.MultiMatch(frame) local parent = frame:getParent() if parent and parent:getTitle() == "Template:Str substr" then frame = parent end local args = frame.args local str = args[1] local result = "" local i = 2…”)
 
(没有差异)

2023年1月24日 (二) 01:45的最新版本

此模块的文档可以在Module:Str test/doc创建

local module = {}
 
function module.main(frame)
	local args = frame.args
	local str = args[1]
	local ptn = mw.text.decode(mw.text.unstripNoWiki(args[2]))
	if mw.ustring.find(str, ptn) == nil 
	then return ''
	else return 1 end
end
 
function module.MultiMatch(frame)
	local parent = frame:getParent()
	if parent and parent:getTitle() == "Template:Str substr" then
		frame = parent
	end
	local args = frame.args
	local str = args[1]
	local result = ""
	local i = 2
	while(frame.args[i])do
		local ptn = mw.text.decode(mw.text.unstripNoWiki(args[i]))
		local found = mw.ustring.match(str, ptn)
		result = result .. (found and "1" or "0")
		i = i+1
	end
	return result
end
 
function module.Switch(frame)
	local parent = frame:getParent()
	if parent and parent:getTitle() == "Template:Str switch" then
		frame = parent
	end
	local str = frame.args[1]
	for key, value in pairs(frame.args) do
		if type(key) == "string" and key ~= "#default" then
			local ptn = mw.text.decode(mw.text.trim(mw.text.unstripNoWiki(value)))
			if ptn ~= "" and mw.ustring.match(str, ptn) then
				return key
			end
		end
	end
	return frame.args["#default"] or ""
end
 
return module