更多操作
无编辑摘要 |
无编辑摘要 |
||
第13行: | 第13行: | ||
local res = str:gsub(target, result) | local res = str:gsub(target, result) | ||
return res | return res | ||
end | |||
function p.isKeyInTable(t, keyToCheck) | |||
for key in pairs(t) do | |||
if key == keyToCheck then | |||
return true | |||
end | |||
end | |||
return false | |||
end | end | ||
第26行: | 第35行: | ||
local ret = "" | local ret = "" | ||
for key, value in pairs(arr) do | for key, value in pairs(arr) do | ||
ret = ret.."[[:分类:"..types[value].."|"..types[value].."]]" | if p.isKeyInTable(key, types) then | ||
ret = ret.."[[:分类:"..types[value].."|"..types[value].."]]" | |||
else | |||
ret = ret.."[[:分类:"..value.."|"..value.."]]" | |||
end | |||
end | end | ||
mw.logObject(ret) | mw.logObject(ret) |
2025年3月25日 (二) 23:29的版本
此模块的文档可以在模块:GetGenres/doc创建
local getArgs = require('Module:Arguments').getArgs
local p = {}
local types = {
Adventure = '冒险',
Shooter = '射击',
Simulater = '模拟',
Indie = '独立',
}
function p.replace(str, target, result)
local res = str:gsub(target, result)
return res
end
function p.isKeyInTable(t, keyToCheck)
for key in pairs(t) do
if key == keyToCheck then
return true
end
end
return false
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, ",")
local ret = ""
for key, value in pairs(arr) do
if p.isKeyInTable(key, types) then
ret = ret.."[[:分类:"..types[value].."|"..types[value].."]]"
else
ret = ret.."[[:分类:"..value.."|"..value.."]]"
end
end
mw.logObject(ret)
return ret
end
function p.getGenres(frame)
local args = getArgs(frame)
return p.exec(args[1])
end
return p