モジュール:AgePicker

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動

ここに呼び出す説明文 『 モジュール:AgePicker/doc 』 が作成されていません。

-- 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