[原] IDL的逻辑判断符和位操作运算符(坑啊)

好吧,又一次被IDL坑了。怪我自己没看仔细,主要语言太多。。。
比如:
C系列的逻辑判断符是 && || !
Delphi的逻辑判断符是AND OR NOT
写在这里,起警示作用:
IDL的逻辑判断符是这样的:&& || ~
IDL的位操作符是这样的:AND OR NOT XOR
以前写判断都是 if … and … then …
所以从来没注意and原来是(Bitwise AND),not原来是(Bitwise NOT)
好吧,因为以前的判断基本都是逻辑组合(即 if ID gt 2 and ID lt 5 then…)为主,所以基本两个的结果是一样的,没出过问题。
坑来了:
id = -2
if not id then …
(not -2) equals 1
所以,以后IDL逻辑判断全部要用 && || ~

发表评论