モジュール:AgePicker
ナビゲーションに移動
検索に移動
-- Module:AgePicker
local p = {}
-- 年齢文字列から最大の「歳」を取得、
-- 115歳以上 → 長寿主張者
-- 100~114歳 → 100歳以上とされた人物
function p.maxAge(frame)
local input = frame.args[1] or ""
-- 複数候補を / で分割
local parts = {}
for part in string.gmatch(input, "[^/]+") do
table.insert(parts, part)
end
local maxAge = 0
for _, part in ipairs(parts) do
-- 数字部分を抽出
local age = string.match(part, "(%d+)%s*歳")
if age then
age = tonumber(age)
if age > maxAge then
maxAge = age
end
end
end
if maxAge >= 115 then
return "長寿主張者"
elseif maxAge >= 100 then
return "100歳以上とされた人物"
elseif maxAge > 0 then
return maxAge .. "歳"
else
return input -- 数字が取れなかった場合はそのまま返す
end
end
return p