初版は Lua 5.0 向けに書かれました。後継バージョンには関連性が高いですが、違いもあります。
第 4 版は Lua 5.3 を対象としており、Amazon および他の書店で販売されています。
書籍を購入することで、Lua プロジェクトを支援することもできます。
![]() |
Programming inLua | ![]() |
| パート I. 言語 第 3 章. 式 |
print(4 and 5) --> 5
print(nil and 13) --> nil
print(false and 13) --> false
print(4 or 5) --> 4
print(false or 5) --> 5
and と or のどちらもショートカット評価を使用します。つまり、必要に応じてのみ 2 番目のオペランドを評価します。便利な Lua の慣用句として、x = x or v があります。これは次と等価です。
if not x then x = v endつまり、
x が設定されていない場合に、x を既定値 v に設定します (ただし、x が false に設定されていない場合)。もう 1 つの便利な慣用句として、(a and b) or c (または単に a and b or c。and は or よりも優先度が高いからです) があります。これは、C 式の次と同等です。
a ? b : cただし、
b が false でない場合に限り当てはまります。たとえば、2 つの数値 x と y の最大値を選択する場合は、次のようなステートメントを使用します。max = (x > y) and x or y
x > y の場合、and の最初の式は true になるので、and は 2 番目の式 (x) (true でもある。数値だから) を返します。その後、or 式は最初の式、x の値を返します。x > y が false の場合、and 式は false になるので、or は 2 番目の式、y を返します。演算子 not は常に true または false を返します。
print(not nil) --> true
print(not false) --> true
print(not 0) --> false
print(not not nil) --> false
| Copyright © 2003–2004 Roberto Ierusalimschy. All rights reserved. | ![]() |