答案 0 :(得分:3)
您问题的字面答案是:=
后跟表达式,=
后跟值;这些是等价的:
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%
如果您所做的只是分配和执行,那么批处理文件语法更清晰,更不容易出错。但是,如果需要实现更复杂的逻辑,可以使用表达式语法更简洁地完成。