模組:沙盒/Kcx36/sandbox
这是Module:沙盒/Kcx36的沙盒。 |
模块文档[创建]
您可能想要创建本Scribunto模块的文档。 编者可以在本模块的沙盒 (编辑)和测试样例 (创建)页面进行实验。 请在/doc子页面中添加分类。本模块的子页面。 |
local p = {}
local cultural_criteria = {"(i)", "(ii)", "(iii)", "(iv)", "(v)", "(vi)"}
local natural_criteria = {"(vii)", "(viii)", "(ix)", "(x)"}
-- 匹配标准
local function checkCriteria(text, criteria)
local found = {}
for _, criterion in ipairs(criteria) do
if text:find(criterion, 1, true) then
table.insert(found, criterion)
end
end
table.sort(found) -- 排序
return found
end
function p.checkHeritage(frame)
local input = frame.args[1] or ""
-- 检查是否是文化、自然遗产
local cultural_found = checkCriteria(input, cultural_criteria)
local natural_found = checkCriteria(input, natural_criteria)
local result = ""
if #cultural_found > 0 and #natural_found > 0 then
result = "[[文化遗产|文化]]和[[自然遗产|自然]]:" .. table.concat(cultural_found) .. table.concat(natural_found)
elseif #cultural_found > 0 then
result = "[[文化遗产|文化]]:" .. table.concat(cultural_found)
elseif #natural_found > 0 then
result = "[[自然遗产|自然]]:" .. table.concat(natural_found)
else
result = ""
end
return result
end
return p