You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Lua命令行运行维基百科Yesno.lua模块?

在Lua命令行加载并执行维基百科Yesno模块函数

1. 准备Yesno.lua文件

将维基百科的Yesno模块代码保存为Yesno.lua文件(注意:纯Lua命令行环境没有MediaWiki的mw模块,因此保留原代码中的val:lower()即可,无需替换为mw.ustring.lower(val)):

return function (val, default)
        -- If your wiki uses non-ascii characters for any of "yes", "no", etc., you
        -- should replace "val:lower()" with "mw.ustring.lower(val)" in the
        -- following line.
        val = type(val) == 'string' and val:lower() or val
        if val == nil then
                return nil
        elseif val == true 
                or val == 'yes'
                or val == 'y'
                or val == 'true'
                or val == 't'
                or val == 'on'
                or tonumber(val) == 1
        then
                return true
        elseif val == false
                or val == 'no'
                or val == 'n'
                or val == 'false'
                or val == 'f'
                or val == 'off'
                or tonumber(val) == 0
        then
                return false
        else
                return default
        end
end

2. 在Lua命令行加载函数

打开Lua命令行提示符,通过以下方式加载函数:

  • 若文件在当前工作目录,使用dofile:
    local yesno = dofile("Yesno.lua")
    
  • 若文件放在Lua的模块搜索路径中,使用require:
    local yesno = require("Yesno")
    

3. 执行函数测试

加载完成后,直接调用yesno函数即可,示例测试代码:

-- 测试返回true的场景
print(yesno("Yes"))       --> true
print(yesno(1))           --> true
print(yesno("on"))        --> true

-- 测试返回false的场景
print(yesno("No"))        --> false
print(yesno(0))           --> false
print(yesno("off"))       --> false

-- 测试返回默认值或nil的场景
print(yesno(nil))         --> nil
print(yesno("maybe", nil)) --> nil
print(yesno("unknown", "invalid")) --> invalid

内容的提问来源于stack exchange,提问作者gettimothy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 23:45:55