简述:在 Delphi 中,有 and 与 or
在 c/c++ 中,有 && 与 ||
在 Lua 中,有 and 与 or
它们3者都表示逻辑运算符。但它们是有区别的。
Delphi中的 and 与 or 不但可以表示逻辑与、逻辑或运算符,还可以表示与运算以及或运算。
示例:
procedure test;
var
lVar: integer;
lVar2: integer;
lVar3: integer;
begin
lVar = 20;
lVar2 = 30;
if (10 = lVar) and (20 = lVar2) then
begin
// do something here.
end
else if (20 = lVar) or (30 = lVar2) then
begin
// do something here.
end;
lVar3 = lVar and lVar2;//这个就是相当于c/c++中的 &
lVar3 = lVar or lVar2;//这个就相当于c/c++中的 |
end;
关于 c/c++ 中的 &&、||、&、| 在此,我想就不用多说了吧。
接下来说说,Lua中的 and 与 or
在 Lua 中,and 也是逻辑运算符,但它的取值很特别:
a and b;它的返回值并不是我们所想象的 true 或者 false.而是:如果 a 为假(即:为 false 或者 nil 时),则表达式返回 a。否则就返回 b
同样 a or b;它返回的也不是true与false。而是:当 a 为真时,则返回 a 否则返回 b.