自动热键中一行If-Condition-Assignment [英] One line if-condition-assignment in AutoHotkey
本文介绍了自动热键中一行If-Condition-Assignment的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在JavaScript中,我们可以使用以下一行程序:
const condition = true
let foo
condition && (foo = 'foo') // 👈 one-liner
console.log(foo) // foo
我在AHK尝试了:
condition := true
condition && (foo := "foo")
MsgBox % foo
但是,解释器抛出:
我不得不将上面的代码更改为以下代码以提示&quo;foo";:
condition := true
; 👇 three lines
if (condition) {
foo := "foo"
}
MsgBox % foo
如何在AHK的一行中完成此类作业?
推荐答案
我们可以使用ternary operator (?:)来实现这一点,与在Java脚本中不同,我们可以省略AutoHotkey中丢失的分支:
condition := true
condition ? foo := "foo"
MsgBox % foo
另请引用0x464e:
请注意,如果您不想获得整个三元组的求值结果,则只能省略失败的分支,例如var1 := TrueCondition ? "hello"
不起作用。变量var1
未设置任何值。
这篇关于自动热键中一行If-Condition-Assignment的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文