AutoHotkey函数中花括号与流程控制语句语法故障求助
解决AutoHotkey函数中流程控制语句的语法错误问题
问题原因
你遇到的花括号语法错误,核心是AutoHotkey v1版本中,表达式风格的If (表达式)语句,要求左花括号必须和If写在同一行;如果换行写左花括号,会被识别为语法错误。而对象字面量不受此限制,所以能正常运行。
修正后的代码
把左花括号和If/Else放在同一行即可,示例代码如下:
FunctionName(p1, p2, p3) { If (in-expression) { If (in-expression) out-expression If (in-expression) out-expression } Else { out-statement-1 out-statement-2 } Return "!!! Stupid AHK !!!" }
额外说明
- 如果你习惯将花括号单独换行的编码风格,可以改用传统的
If var(非表达式风格),或者直接升级到AutoHotkey v2版本——v2版本统一了语法规则,允许花括号单独换行,和其他主流编程语言一致。 - 嵌套
If语句本身在AHK中是支持的,只要语法符合对应版本的规范即可。
内容的提问来源于stack exchange,提问作者energyzed80
相关产品推荐
相关产品推荐

