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

Tcl IRC脚本问题:maxresults变量未正确获取max=后的数值20

问题修复:提取max=参数值错误的Tcl脚本

问题根源

你当前代码中使用split $text max=的方式完全错误:Tcl的split命令第二个参数是字符集合而非完整字符串,它会将文本中所有出现m、a、x、=的位置都作为分隔点,最终导致提取到的内容是Remix中m后的i,而非预期的20。

修复后的代码

bind pub "-|-" !a pub:a
proc pub:a { nick host handle channel text } {
    set maxresults ""
    # 用正则表达式直接捕获max=后的数字,忽略大小写
    if {[regexp -nocase {max=(\d+)} $text -> maxresults]} {
        putnow "PRIVMSG $channel :maxresults: $maxresults"
    }
}

说明

  • 使用regexp -nocase {max=(\d+)}可以精准匹配max=(不区分大小写)后面的连续数字,通过捕获组直接将数字存入maxresults变量。
  • 测试输入!a Remix find now country=german max=20 currency=euro,会输出预期的maxresults: 20。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:20:46