打开/关闭菜单
切换首选项菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

模块:GetGenres:修订间差异

来自此界与彼端
创建页面,内容为“local getArgs = require('Module:Arguments').getArgs local p = {} function p.replace(str, target, result) local res = str:gsub(target, result) return res end function p.split(str, separator) local fields = {} local temp = str:gsub(", ", ",") temp:gsub("[^"..separator.."]+", function(c) fields[#fields + 1] = c end) return fields end function p.exec(str) local arr = p.split(str, ",") mw.logObject(arr) return arr end function p.getGenres(f…”
 
无编辑摘要
 
(未显示同一用户的28个中间版本)
第1行: 第1行:
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs
local genres = require('Module:GlobalVars').genres
local stringUtil = require('Module:StringUtil')


local p = {}
local p = {}


function p.replace(str, target, result)
function p.isKeyInTable(keyToCheck)
local res = str:gsub(target, result)
    for key in pairs(genres) do
return res
        if key == keyToCheck then
end
            return true
 
        end
function p.split(str, separator)
     end
    local fields = {}
     return false
    local temp = str:gsub(", ", ",")
     temp:gsub("[^"..separator.."]+", function(c) fields[#fields + 1] = c end)
     return fields
end
end


function p.exec(str)
function p.exec(str)
local arr = p.split(str, ",")
local arr = stringUtil.split(str, ",")
mw.logObject(arr)
local ret = ""
return arr
for key, value in pairs(arr) do
    if p.isKeyInTable(value) then
        ret = ret.."[[:分类:类型/"..genres[value].."|"..genres[value].."]][[分类:类型/"..genres[value].."]] "
    else
    ret = ret..value.."[[分类:类型/缺少类型]] "
    end
    end
return ret
end
end


function p.getGenres(frame)
function p.getGenres(frame)
local args = getArgs(frame)
local args = getArgs(frame)
return args[1]
return p.exec(args[1])
end
end


return p
return p

2025年3月31日 (一) 20:24的最新版本

此模块的文档可以在模块:GetGenres/doc创建

local getArgs = require('Module:Arguments').getArgs
local genres = require('Module:GlobalVars').genres
local stringUtil = require('Module:StringUtil') 

local p = {}

function p.isKeyInTable(keyToCheck)
    for key in pairs(genres) do
        if key == keyToCheck then
            return true
        end
    end
    return false
end

function p.exec(str)
	local arr = stringUtil.split(str, ",")
	local ret = ""
	for key, value in pairs(arr) do
	    if p.isKeyInTable(value) then
	        ret = ret.."[[:分类:类型/"..genres[value].."|"..genres[value].."]][[分类:类型/"..genres[value].."]] "
	    else
	    	ret = ret..value.."[[分类:类型/缺少类型]] "
    	end
    end
	return ret
end

function p.getGenres(frame)
	local args = getArgs(frame)
	return p.exec(args[1])
end

return p