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

如何在AHK中执行命令行传入的字符串形式数学表达式?

在AHK中执行命令行传入的数学表达式

针对AHK v1的解决方案

  1. 先正确接收并处理命令行参数,移除$符号:
; 获取第一个命令行参数,去掉$符号
input := StrReplace(%1%, "$", "")
  1. 使用%运算符触发表达式求值,直接计算字符串形式的表达式:
; 预定义变量Start/End要确保在当前作用域可访问
NewStartFrameIs := % input

如果直接求值报错,可尝试用括号包裹表达式,帮助AHK正确解析:

NewStartFrameIs := % "(" input ")"

针对AHK v2的解决方案

v2语法更规范,直接使用Expression()类的Eval()方法:

; 获取第一个命令行参数并移除$
input := StrReplace(A_Args[1], "$", "")
; 计算表达式
NewStartFrameIs := Expression(input).Eval()

注意事项

  • 确保预定义变量(如Start、End)是全局变量或在当前脚本作用域内已正确赋值,否则会因变量未定义报错。
  • 命令行调用时必须给表达式加引号(如.\Shift_IN.Ahk "$Start-5"),避免参数被系统拆分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 15:44:53