AutoHotkey如何实现类似JavaScript的单行条件赋值操作
AutoHotkey 单行条件赋值实现方案
问题原因
你所用的类JavaScript短路赋值写法condition && (foo := "foo")在AutoHotkey v1版本中会报错,是因为v1语法不允许将赋值语句作为逻辑表达式的子项直接使用。
实现方案
方案1:单行if语句(最推荐,可读性最高)
AutoHotkey的if语句在只有一行执行代码时可以省略大括号,直接写成单行:
condition := true if (condition) foo := "foo" ; 单行实现条件赋值 MsgBox % foo
方案2:三元运算符
适合赋值逻辑简单的场景,条件成立时赋值指定值,不成立时保留变量原有值:
condition := true foo := condition ? "foo" : foo MsgBox % foo
AutoHotkey v2 兼容写法
如果你使用的是AutoHotkey v2版本,你最初写的短路赋值写法可以直接运行:
condition := true condition && (foo := "foo") MsgBox foo
内容的提问来源于stack exchange,提问作者Wenfang Du
相关产品推荐
相关产品推荐

