stevenldj 发表于 2008-8-31 14:14:50

刚才发现 AUTOIT 的一个问题

`

刚才发现 AUTOIT 的一个问题,其实也不算问题,就是一个要注意的地方。
当你要比较两个字符串是否相等时(不区分大小写) ,比如:

------------------------------------------------------------

$Str1 = SomeFunc1()
$Str2 = SomeFunc2()

If $Str1 = $Str2 Then ...

------------------------------------------------------------

这样可能会出错,如果函数 SomeFunc1() 或 SomeFunc2() 返回的不是一个字符串,而是数字 0 的话(直接一个 Return 语句就可以返回 0),这个比较结果就是错的。无论你怎么比较结果都是 True

改用下面的方法就不会错了:

------------------------------------------------------------

$Str1 = SomeFunc1()
$Str2 = SomeFunc2()

If StringLower($Str1) == StringLower($Str2) Then ...

------------------------------------------------------------

看来在不知道 $Str1 和 $Str2 的值的情况下,If $Str1 = $Str2 Then ... 不怎么可靠。



`

itljl 发表于 2008-8-31 16:37:38

== 这个表示区分大小写

asdf 发表于 2008-9-1 11:49:13

嗯,可以说是一个bug

gooker 发表于 2008-9-1 15:34:12

遇到过,在群里也说过,au3的语法不严谨

kakinkgb 发表于 2008-9-1 18:45:15

好像遇到过,就是任意字符串等于数字0
页: [1]
查看完整版本: 刚才发现 AUTOIT 的一个问题