首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AutoHotkey中的单行条件赋值

AutoHotkey中的单行条件赋值
EN

Stack Overflow用户
提问于 2021-09-12 07:13:06
回答 1查看 302关注 0票数 0

在JavaScript中,我们可以使用以下一行:

代码语言:javascript
复制
const condition = true

let foo

condition && (foo = 'foo') //  one-liner

console.log(foo) // foo

我在AHK试过:

代码语言:javascript
复制
condition := true

condition && (foo := "foo")

MsgBox % foo

但是,解释器抛出:

我必须将上面的代码更改为以下内容,以提示"foo":

代码语言:javascript
复制
condition := true

;  three lines
if (condition) {
  foo := "foo"
}

MsgBox % foo

如何在AHK单行完成这类作业?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-12 07:28:50

我们可以使用三元算子(?:)来实现这一点,与JavaScript不同,我们可以在AutoHotkey中省略丢失的分支:

代码语言:javascript
复制
condition := true

condition ? foo := "foo"

MsgBox % foo

同时,引用0x464 e的话

请注意,只有在不试图获得整个三元的评估结果的情况下,才能省略丢失的分支,例如,var1 := TrueCondition ? "hello"不工作。变量var1没有将任何值设置为它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69149257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档