等号的神奇功能
本帖最后由 duanqs 于 2015-12-3 15:33 编辑该贴算是一个交流贴, 记录一下俺的体会.
等号"="恐怕是最常用的符号了, 可是它却被au3赋予了很奇特的功能. 先看下述代码
$var='01'
MsgBox(0,0,$var=01); 实际返回True
MsgBox(0,0,$var==01) ;实际返回False
小结: 等号的三个不同功能:
1. 赋值功能
2. 数值比较功能
3. 字符串比较功能.
一不留神会犯混淆使用的. 切记.
通常情况下, 做判断时, 建议还是多用数值比较要好一些, 就是说多用"=', 少用"==".
今天在使用一个变量当作月份, 进行判断时就犯了这种低级错误. 另外,
对于用作数值比较符的"=",
au3会自动地把要比较的变量先进行数值转换(相当于做Number()处理), 然后进行比较.
对于用作字符串比较符的"==",
au3会自动地把要比较的变量先进行字符串转换(相当于做String()处理), 然后进行比较.
俺这样理解, 应该没错吧.
愿听您的高见. 代码片的字号想调整大一些, 可是为什么不行呢.
....
不是这样操作吗?
劳驾懂的朋友, 请指点一二. 数字加了引号后就不是数值而是字符, 一个等号字符或数值相等即匹配, 两个等号字符或数值必须完全相等才可匹配. $var='01';这里被赋值为字符.
MsgBox(0,0,$var=01); 实际返回True
MsgBox(0,0,$var==01) ;实际返回False
$var=01;这里被赋值为数值.
MsgBox(0,0,$var=01); 实际返回True
MsgBox(0,0,$var==01) ;实际返回True
ubb代码 要有起始 要有结束
"两个等号字符或数值必须完全相等才可匹配."
Xayle兄, 顶你的这句总结. 谢谢. 数字加了引号后就不是数值而是字符, 一个等号字符或数值相等即匹配, 两个等号字符或数值必须完全相等才可匹 ...
xayle 发表于 2015-12-3 21:30 http://www.autoitx.com/images/common/back.gif
受教! 多谢. 长知识了,不注意真容易犯这种错误!谢谢分享知识! 涨姿势 谢谢 数字 = 字符== 涨姿势 谢谢 不错的知识分享。。。。。。 回复 5# xayle
学习了... 一个是逻辑上的等于号,一个是赋值 以前我还不知道呢
页:
[1]
2