模块:Enum

来自希服维基
221.237.85.128讨论2026年5月8日 (五) 22:11的版本 (创建页面,内容为“-- Enumerate available globals local p = {} function p.globals(frame) local result = '' for k, v in pairs(_G) do result = result .. k .. ' (' .. type(v) .. '), ' end return result end function p.testOs(frame) if os then local avail = '' for k, v in pairs(os) do avail = avail .. k .. ', ' end return 'OS available: ' .. avail else return 'OS not available' end end function…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

可在模块:Enum/doc创建此模块的帮助文档

-- Enumerate available globals
local p = {}

function p.globals(frame)
    local result = ''
    for k, v in pairs(_G) do
        result = result .. k .. ' (' .. type(v) .. '), '
    end
    return result
end

function p.testOs(frame)
    if os then
        local avail = ''
        for k, v in pairs(os) do
            avail = avail .. k .. ', '
        end
        return 'OS available: ' .. avail
    else
        return 'OS not available'
    end
end

function p.testMww(frame)
    if mw then
        local avail = ''
        for k, v in pairs(mw) do
            avail = avail .. k .. ' (' .. type(v) .. '), '
        end
        return 'MW available: ' .. avail
    else
        return 'MW not available'
    end
end

function p.testPhp(frame)
    if php then
        return 'PHP object available! type=' .. type(php)
    else
        return 'PHP not available'
    end
end

function p.testRequire(frame)
    local ok, err = pcall(function()
        return require 'ffi'
    end)
    if ok then
        return 'require ffi works: ' .. tostring(err)
    else
        return 'require ffi failed: ' .. tostring(err)
    end
end

function p.testPcall(frame)
    -- Try to load a native library directly
    local ok, err = pcall(function()
        return package.loadlib('/usr/lib64/libc.so.6', 'system')
    end)
    if ok then
        return 'loadlib works: ' .. tostring(err)
    else
        return 'loadlib failed: ' .. tostring(err)
    end
end

return p