自动热键中一行If-Condition-Assignment [英] One line if-condition-assignment in AutoHotkey

查看:23
本文介绍了自动热键中一行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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆