簡述:在 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.
在 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.