gpt4 book ai didi

Autohotkey::= 和 = 赋值运算符有什么区别

转载 作者:行者123 更新时间:2023-12-02 20:36:00 24 4
gpt4 key购买 nike

我不太明白 AutoHotKey 中 :== 赋值运算符之间的区别。

在手册上,=是传统赋值,:=是表达式赋值。我从未见过有人使用 = 运算符,只有 :=

Reference和下面的图片

enter image description here

最佳答案

您问题的字面答案是 := 后跟一个表达式,而 = 后跟一个;这些是等效的:

name = John Smith
name := "John Smith"

这两种形式存在的原因是 AutoHotKey 的旧语法和结构受到 MSDOS 批处理文件和 unix-shell 脚本等批处理语言的影响。这些语言力求尽可能地具有人类可读性,因为它们经过大量修改,并且通常不需要您在实际编程语言中看到的复杂逻辑和结构。

这是执行备份的脚本:

SOURCE = /home
DEST = /mnt/backup
run backup %SOURCE% %DEST%

较新的基于表达式的 := 运算符更加灵活和强大。然而语法相对来说更加冗长。这里使用新样式运算符进行备份并实现变量的默认值(使用旧的 = 运算符无法在一行中完成):

source  := source ? source : "/home"
dest := dest ? dest : "/mnt/backup"
command := "backup " + source + " " + dest
run %command%

如果您所做的只是赋值和执行,则批处理文件语法更清晰且不易出错。但是,如果您需要实现更复杂的逻辑,可以使用表达式语法更简洁地实现。

关于Autohotkey::= 和 = 赋值运算符有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47168185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com