上一篇文章我们了解到了 = 和 := 的区别,也了解了怎样对变量赋值。除了赋值,我们还经常需要比较两个变量的值是否相等,这就需要比较运算符了。

一翻手册,头疼的事情又来了。其他语言要么用 = 比较,要么用 == 比较,只是习惯的问题。而 AHK 用 = 和 == 都可以比较,而且二者居然还有区别。不过还好区别不是那么大,也并不难理解。

大小写问题

这里先提下大小写问题,这与 = 和 == 的区别密切相关。AHK 的代码是不区分大小写的,也就是说,在通常情况,将一份不涉及外部交互(如创建目录、写文件、和其他程序交互等)的 AHK 代码中的小写字母全部转换成大写字母,是不影响功能的。所有的关键字、变量名,都是不区分大小写的。但有一些特例,用 == 比较字符串是区分大小写的,以及后边会提到的 StringCaseSense 命令。

= 和 == 的区别

用 = 比较字符串是不区分大小写的,而用 == 比较字符串是区分大小写的。

a := "abc"
b := "ABC"

if (a = b)
{
    ; 条件成立
}

if (a == b)
{
    ; 条件不成立
}

!= 和 <> 的用法

如果只考虑 = 和 == 的用法,并没有什么需要注意的,一个不区分大小写,一个区分大小写,根据实际情况选择即可。但有等号,自然